每个Laravel / Eloquent模型都有一个->toArray()
方法,serializing所有模型属性(通过protected $hidden
数组指定的属性除外)和一些相关模型为一个整齐的数组,或通过->toJson()
进入JSON。
假设我有一个具有很多属性和关系的模型,如下所示:
class Article extends Illuminate\Database\Eloquent\Model {
protected $with = ['comments'];
// probably also have several kilobytes of data in the text attribute
...
public function comments()
{
return $this->hasMany('App\Comment');
}
};
此模型通常通过其序列化形式检索和显示,但有两种不同的方式:
Article
。这需要包含完整的文章内容及其所有评论。单独序列化注释可能会或者可能没有意义,而不是将它们包含在$with
。传统的做法是什么?例如,您是否创建了另一种序列化方法(例如,->toShortJson()
或->toLongJson()
具有更明智的命名方式)?如果是这样,最小化序列化模型或尽可能使它们具有包容性是否常规?这不符合Laravel哲学吗?