为什么我一直收到此错误:此集合实例上不存在Property [id]。
我的方法:
public function modes()
{
$modes = Genre::limit($this->limit)->get();
return new GenresResource($modes);
}
我的资源
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name
];
}
M型号
class Genre extends Model {
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'genres';
protected $guarded = ['id'];
}
答案 0 :(得分:0)
据我了解 - 您的$this
是Collection
,而不是Model
。显然,该集合没有属性id
和name
。
答案 1 :(得分:0)
您想要更改控制器方法以表明它正在接收集合,而不是单个模型。
$modes = Genre::limit($this->limit)->get();
return GenresResource::collect($modes);
通常,您希望为您的资源指定一个单一名称,因此您可能还需要考虑将其称为GenreResource
。