[英]Query inside foreach Laravel 4 Controller/view
好吧,在我看來,我有一個foreach,並且我用{{$ look-> item1_id}}顯示產品的ID,但是我需要名稱,所以我需要查看另一個表來查找名稱,但是如何?
我在一家小商店里,有些物品會產生不同的“外觀”。
我的數據庫看起來像這樣:
items table:
id/item_name/other_fields
looks table:
id/look_name/item1_id/item2_id/item3_id
我的控制器看起來像:
$looks=Look::where('gender', '=', "girls")->get();
return View::make('store')->with('looks', $looks)
所以我認為:
@foreach ($looks as $looks)
Id: {{$looks->item1_id}}
Name: ??
@endforeach
我的模特:
class Look extends Eloquent
{
protected $table='looks';
}
class Item extends Eloquent
{
protected $table='items';
}
我知道可以使用雄辯的關系,但是我無法更改數據庫。
謝謝
您應該使用一個關系,但是您可以根據需要運行查詢並獲取項目的名稱。
DB::table('items')->where('id', $looks->item1_id)->pluck('item_name')
請記住,每次循環都會執行查詢。 如果您期望很多查詢,則可能需要使用以下代碼:
// Outside the loop
$items = DB::table('items')->where('id', $looks->item1_id)->list('item_name', 'id')
// Inside the loop
$items[$looks->item1_id]
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.