2016-08-20 92 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)); 
    } 

} 

我的控制器:

<?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; 

要这样:

use App\Character; 
+0

该死的,下一个错误哈哈:'''App'DB'找不到'。谢谢你的回答:) – divHelper11

+2

加'use DB;':) –

+0

它没有帮助。有没有可能我没有这个数据库文件在我的项目或什么?这是新安装的laravel – divHelper11