有没有办法做类似这样的事情?
Picture::with('gallery')->where('gallery.path', $galleryPath)->first();
它应该搜索记录,但查询将应用于其关系。
答案 0 :(得分:3)
如果您使用的是Laravel 4.1:
$picture = Picture::whereHas('gallery', function($q) use ($galleryPath)
{
$q->where('path', $galleryPath);
})->first();
Laravel 4:
$picture = Picture::with(array('gallery' => function($q) use ($galleryPath)
{
$q->where('path', $galleryPath);
}))->first();
答案 1 :(得分:0)
我相信你要找的是Eager Load Contraints
您可以使用函数回调来指定关系的条件,例如
Picture::with(array('gallery' => function($query)
{
$query->where('path', $galleryPath);
}))->get();