0

我有两张桌子,GalleriesGallery_items。在Galleries我保存诸如作者是谁之类的信息。在Gallery_items我保存画廊包含的每张图片。

现在我想在每个画廊中获取第一张照片,其中标题是蒙娜丽莎作者是莱昂纳多·达·芬奇

我测试过:

Gallery_items::group_by('gallery_id')->where('title', '=', 'mona lisa')->gallery()->where('author', '=', 'Leonardo da Vinci');

但它不起作用。我得到一个错误Method [gallery] is not defined on the Query class.

但我已将 gallery() 添加到模型中。

class Gallery_items extends Eloquent
{
    public function gallery()
    {
        return $this->belongs_to('gallery');
    }
}

知道我该怎么做吗?这甚至可以通过一个查询来实现吗?“约束急切加载”也许是答案(我不明白那是什么)?

4

2 回答 2

2

感谢@AndHeiberg,我开始从其他角度看待问题,现在我已经使用JOIN语句解决了问题。

Gallery_items::join('gallery', 'Gallery_items.gallery_id', '=', 'gallery.id'))->group_by('gallery_id')->where_title_and_author('Mona Lisa', 'Leonardo da Vinci');
于 2013-01-11T18:16:47.153 回答
1

这应该有效:

Gallery_items->group_by('gallery_id')->where_title_and_author('Mona Lisa', 'Leonardo da Vinci');
于 2013-01-11T18:00:07.133 回答