如何在Laravel模型中使用特征?

问题描述 投票:0回答:3

你好,我是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();
    }
}

收到错误

找不到Trait'App \ GeneralModel'

php laravel laravel-5.1
3个回答
2
投票

composer.json中添加:

  "autoload"    : {
"classmap": [
  "database/seeds",
  "database/factories"
],
"files"   : [

  "app/GeneralModel.php" // <----------- ADD THIS 
],
"psr-4"   : {
  "App\\": "app/"
}},

然后运行composer dump-autoload


1
投票

请检查app文件夹中的GeneralModel.php。并在项目根路径中执行以下命令。

php artisan dump-autoload

0
投票

你必须使用

Composer dump-autoload

在您的命令行中

希望它有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.