Php Laravel 5.2模型静态功能使用
我可能不理解这些静态函数是如何工作的 在我公司的项目中,他们只是在任何模型中创建一个公共静态函数,然后以这种方式使用它Php Laravel 5.2模型静态功能使用,php,laravel,laravel-5,model,laravel-5.2,Php,Laravel,Laravel 5,Model,Laravel 5.2,我可能不理解这些静态函数是如何工作的 在我公司的项目中,他们只是在任何模型中创建一个公共静态函数,然后以这种方式使用它modelname::functionName()。我认为他们的模型和控制器和我的相似 现在,我正在家里训练编程,我在应用程序目录中创建了一个角色模型。然后我试着在CharacterController中以同样的方式使用它,但它说: CharacterController.php第18行中的FatalErrorException:未找到类“App\Http\Controllers
modelname::functionName()
。我认为他们的模型和控制器和我的相似
现在,我正在家里训练编程,我在应用程序目录中创建了一个角色模型。然后我试着在CharacterController中以同样的方式使用它,但它说:
CharacterController.php第18行中的FatalErrorException:未找到类“App\Http\Controllers\Character”
对我来说,拉威尔似乎在控制器中寻找静态函数,而不是我的模型
我的模型:
<?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;
为此:
use App\Character;
该死,下一个错误哈哈:
Class'App\DB'找不到
。谢谢你的回答:)没用。有没有可能我的项目中没有这个数据库文件?新安装的laravelYou新增使用DB代码>在模型中,您仍然会得到相同的错误?或者,您可以将DB::
更改为\DB::
——在这种情况下,您不需要添加使用DB代码>子句。顺便说一句,你不需要使用static
,只要使用公共函数insertCharacterRace($race)
。该死的,我把它添加到了控制器中而不是类中。。。非常感谢!!
use App\Character;