2016-08-20 12 views
1

これらの静的関数がどのように機能するのか分かりません。Laravel 5.2モデル静的関数の使用

私の会社のプロジェクトでは、どのモデルでもパブリック静的関数を作成してから、この方法で使用していますmodelname::functionName()。彼らのモデルとコントローラは私のものと似ていると思います。

今、私は自宅でプログラミングをトレーニングしています。私はAppディレクトリにCharacterモデルを作成しました。それから私はCharacterControllerで同じ方法で使用しようとしましたが、それは言う:

FatalErrorException in CharacterController.php line 18: Class 'App\Http\Controllers\Character' not found

Laravelが私のモデルではなくコントローラの静的機能を探していたようです。

マイモデル:

<?php 

namespace App; 

use app; 
use Illuminate\Database\Eloquent\Model; 

class Character extends Model 
{ 
    protected $table = 'character'; 

    public static function insertCharacterRace($race){ 
     DB::insert('INSERT INTO `character` VALUES `race` = ?', array($race)); 
    } 

} 

マイコントローラ:

use App; 

これに:これはあなたのコントローラーの変更で

<?php 

namespace App\Http\Controllers; 

use App\Http\Requests; 
use Illuminate\Http\Request; 
use App; 

class CharacterController extends Controller 
{ 


    public function raceSelected($race){ 
     Character::insertCharacterRace($race); 
    } 

    } 

答えて

3

use App\Character; 
+0

Damn、次のエラーhaha: 'Class 'App \ DB' not found'。あなたの答えをありがとう:) – divHelper11

+2

'use DB;'を追加してください: –

+0

それは助けません。私のプロジェクトなどでこのDBファイルを持っていない可能性はありますか?新しくインストールされたlaravel – divHelper11

関連する問題