嗯,在我看来,我有一个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可以完成关系,但我不能改变数据库。
由于
答案 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]
祝你好运!