这是我的问题:
return $this->mGalleries->with(array('pictures' => function($query){
$query->wherePublished(1)->orderBy('sort');
}))->whereInUse(1)->wherePublished(1)->orderBy('date')->get(array('id', 'title'))->toArray();
I have looked at a question here但没有运气。
我尝试过建议:
$query->select('title')->wherePublished(1)->orderBy('sort');
但是所有的领域都会继续出现,虽然我这样做时首先出现了标题。
有关如何解决此问题的任何想法?
答案 0 :(得分:0)
如果我理解你的问题,你只想使用返回集的某些列。
我从不在雄辩的模型上使用select
,因为滥用可能会破坏模型之间的关系(查找图片需要必要的列I.E. picture_id
)。因此,这会使查询的结果产生误导。
为什么不这样使用它?
// $galleries = Galleries->with....
$galleries = Gallery::with(array('pictures' => function($query){
$query->wherePublished(1)->orderBy('sort');
}))->whereInUse(1)
->wherePublished(1)
->orderBy('date')
->get()
->toArray();
然后当你需要例如第一个的标题时:
$falleries[0]['title']
。
如果要隐藏protected $hidden = array('field/attr', ..);
函数中的特定属性,可以在您的雄辩模型中添加toArray()
属性。