在foreach Laravel 4 Controller / view中查询

时间:2014-08-16 06:27:34

标签: php laravel-4

嗯,在我看来,我有一个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';

}

我知道Eloquent可以完成关系,但我不能改变数据库。

由于

1 个答案:

答案 0 :(得分:1)

您应该使用关系,但是您可以根据需要运行查询并获取项目的名称。

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]
祝你好运!