Fre*_*rik 2 php traits laravel
我正在使用laravel-comment来让用户互相评论.因此,我需要同时使用Commentable和CanComment特性.但是当我一起使用它们时,我得到一个错误.
用户使用它如下:
use Commentable, CanComment {
Commentable::comments insteadof CanComment;
}
Run Code Online (Sandbox Code Playgroud)
而我正在尝试这样的评论:
foreach (User::all() as $user) {
$receiver = User::where('id', '!=', $user->id)->inRandomOrder()->get();
$user->comment($receiver, $faker->text(100), 3);
}
Run Code Online (Sandbox Code Playgroud)
即使CanComment特性有一个调用的方法getCanBeRated,但我得到一个错误,说它没有.为什么会这样?
您收到此错误是因为您尝试在集合上使用此方法而不是在User对象上.使用first(),而不是get()来得到一个对象,而不是集合:
$receiver = User::where('id', '!=', $user->id)->inRandomOrder()->first();
Run Code Online (Sandbox Code Playgroud)