如何在JsonResource中包含雄辩的附加属性

时间:2019-02-10 17:58:41

标签: php laravel eloquent

我想在资源类中构建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行,那么它将起作用。

0 个答案:

没有答案