Laravel 5.5中不存在Property [id]

时间:2018-02-05 22:50:18

标签: php laravel laravel-5.5

为什么我一直收到此错误:此集合实例上不存在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'];

}

2 个答案:

答案 0 :(得分:0)

据我了解 - 您的$thisCollection,而不是Model。显然,该集合没有属性idname

答案 1 :(得分:0)

您想要更改控制器方法以表明它正在接收集合,而不是单个模型。

$modes = Genre::limit($this->limit)->get();

return GenresResource::collect($modes);

通常,您希望为您的资源指定一个单一名称,因此您可能还需要考虑将其称为GenreResource