我有3张桌子
Users
-------------
user_id (PK)
user_name
Items_distributed
-------------
user_id (FK)
item_id(FK)
Item List
-----------------
item_id(PK)
item_name
现在我需要同时使用user_id和item_id打印Items_distributed表,并显示其item_name和user_name
我不知道如何一次显示两件事 如果我显示item_name或user_name其工作 但是当我尝试打印时它都无法正常工作。 任何人都可以解决我的问题。
这是我打印值的方式
控制器中的我这样使用
$itemdata=item::orderBy('user_id','desc')->paginate(10);
在视野中
我用
@foreach($itemdata as $value)
<tr>
<td>{{$value->items->item_name}}</td>
<td>{{$value->users->user_name}}</td>
<td>{!!Html::link("editItem/",'Edit',array('class'=>'btn-sm btn-warning margin-left-btn'))!!}
{!!Html::link("deleteItem/".$value->item_id,'Delete',array('class'=>'btn-sm btn-warning margin-left-btn'))!!}</td>
</tr>
@endforeach
答案 0 :(得分:2)
你应该使用Laravel Eloquent Relationship。为DB Table创建模型文件时,您只需将关系与其他模型建立起来。
如果设置了Relation,则Laravel会自动从相关表中获取数据。
在您的情况下,创建了三个模型。
1)用户模型。
2)项目模型。
3)ItemDestributed Model。
<强> UserModel.php 强>
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Items extends Model
{
/**
* Other code goes here
**/
public function itemDestribution()
{
return $this->hasMany('App\ItemDistribution','foreign_key');
}
}
<强> ItemModel.php 强>
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class ItemDestribution extends Model
{
/**
* Other code goes here
**/
public function user()
{
return $this->belongsTo('App\User','foreign_key_of_user');
}
public function item()
{
return $this->belongsTo('App\Item','foreign_key_of_item');
}
}
<强> ItemDestributionModel.php 强>
AH
1
2
3
BH
21
BT03
CH
CT02
AT10
您可以从Here找到有关Eloquent Relation的更多信息。