【发布时间】:2020-05-04 21:14:54
【问题描述】:
你好
我需要在我的 Eloquent 模型中这样做:
protected $with = ['releases'];
public function releases() { return $this->hasMany('App\Article\Release', 'article_id'); }
public function getReleasedAttribute() { return ($this->releases()->count() > 0); }
public function getContentAttribute() { return $this->releases()->orderBy('published_at', 'desc')->first()->content; }
但是我有很多查询叫做!!急切加载的最佳解决方案是什么?我每次都需要这些属性,所以我更喜欢直接在我的模型中设置它而不是在我的控制器中的查询生成器上
我为我的 Json 响应使用自定义资源,这里是我的控制器上的查询:
$articles = Article::with('releases')->has('releases')->get();
return ArticleReleasedResource::collection($articles);
谢谢
【问题讨论】:
标签: laravel eloquent model attributes eager-loading