我的数据库中有2个表(items和items_photos)我想从" items"中取出行。表并加入到item_photos(使用items.id = items_photos.itemsId)但我想从item_photos表中只获得一行以显示作为搜索结果的分页,即:
items:
id | name | price |
------------------------------------------
1 | item 1 | 30 |
2 | item 2 | 32 |
3 | item 3 | 28 |
item_photos:
id | idItem | filename |
------------------------------------------
1 | 1 | filename1.jpg |
2 | 1 | filename2.jpg |
3 | 1 | filename3.jpg |
4 | 2 | filename4.jpg |
5 | 2 | filename5.jpg |
6 | 3 | filename6.jpg |
我想得到的结果是:
item.id | items.name | items.price | photos.id | photos.filename
---------------------------------------------------------------------------
1 | item 1 | 30 | 1 | filename1.jpg
2 | item 2 | 30 | 4 | filename4.jpg
3 | item 3 | 30 | 6 | filename6.jpg
我试过的是这个
$result = Item::where('name', 'like', "%$query%")
-join('item_photos', 'items.id', '=', 'item_photos.idItem')
->take(1)
->paginate(5);
但是我从这个查询得到的结果显示了重复的行:
item.id | items.name | items.price | photos.id | photos.filename
---------------------------------------------------------------------------
1 | item 1 | 30 | 1 | filename1.jpg
1 | item 1 | 30 | 2 | filename2.jpg
1 | item 1 | 30 | 3 | filename3.jpg
2 | item 2 | 30 | 4 | filename4.jpg
2 | item 2 | 30 | 5 | filename5.jpg
3 | item 3 | 30 | 6 | filename6.jpg