我为作者提供了这个模型:
<?php
class Author extends Eloquent {
public function albums()
{
return $this->belongsToMany('Album')->withPivot('city');
}
}
专辑的这个模型:
<?php
class Album extends Eloquent {
public function artist()
{
return $this->belongsTo('Artist');
}
public function authors()
{
return $this->belongsToMany('Author')->withPivot('city');
}
}
要获得模型,我可以轻松地执行此操作:
$author = Author::where('name','=','Chester Bennington')->first()->toJson();
并且它会返回类似这样的内容(作为JSON):
{"id":3,"name":"Chester Bennington","created_at":"2014-06-29 16:10:21","updated_at":"2014-06-29 16:10:21"}
看到它不会返回与之相关的相册。要获得相册,我必须这样做:$author->albums->toJson()
由于我正在做一个API并且它以JSON的形式返回所有内容,有没有办法获取模型及其所有属性而不指定要获取哪些?
答案 0 :(得分:1)
如果您想要eager load the relationships,它将包含在您的JSON中:
Author::with('albums')->where('name', 'Chester Bennington')->first()->toJson();