我想在资源类中构建api响应时包括附加属性。
为此,我有一个名为Article.php的模型类。
class Article extends Model
{
protected $table = 'articles';
protected $fillable = ['id', 'articleNo'];
protected $appends = ['is_available'];
public function getIsAvailableAttribute() {
return true;
}
ArticleController.php
public function index() {
$articles = Article::all();
return ArticleResource::collection($articles);
}
ArticleResource.php
class ArticleResource extends JsonResource
{
public function toArray($request)
{
return [
'id' => $this->id,
'articleNumber' => $this->articleNo,
'isAvailable' => $this->is_available,
];
}
}
当我尝试运行代码时,它给我以下错误:
ErrorException(E_NOTICE)未定义的属性:stdClass :: $ is_available
如果我从ArticleResource中删除了isAvailable行,那么它将起作用。