你好,我是laravel初学者
我想制作特质并在我的模型中使用它,但在运行时我得到错误,没有找到特征
我的特质:
namespace App;
use Illuminate\Support\Facades\Schema;
trait GeneralModel
{
public static function testStaticFunction()
{
dd('test');
}
}
我的模特:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Comment extends Model
{
use GeneralModel;
}
我的控制器
namespace App\Http\Controllers;
use App\Comment;
class SearchController extends Controller
{
public function find()
{
Comment::testStaticFunction();
}
}
收到错误
找不到特质'App \ GeneralModel'
答案 0 :(得分:2)
在composer.json
中添加:
"autoload" : {
"classmap": [
"database/seeds",
"database/factories"
],
"files" : [
"app/GeneralModel.php" // <----------- ADD THIS
],
"psr-4" : {
"App\\": "app/"
}},
然后运行composer dump-autoload
答案 1 :(得分:1)
请检查app文件夹中的GeneralModel.php。并在项目根路径中执行以下命令。
php artisan dump-autoload
答案 2 :(得分:0)
你必须使用
Composer dump-autoload
在您的命令行中
希望有所帮助