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

时间:2017-06-05 16:30:46

标签: php laravel laravel-5.1

你好,我是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'

3 个答案:

答案 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

在您的命令行中

希望有所帮助