我获得了经过身份验证的用户拥有的所有项目。 ('items') - > get();使用('items') - > get();Laravel简化了嵌套关系输出
在我看来,我可以访问项目集合,而不是title_id想要检索item_title值。 我目前能够使用下面的代码来获得ITEM_TITLE值:
$用品 - >标题 - >标题
是否有可能简化它来获取这样的标题: $用品 - >标题 ?
这里是我的模型和关系:
Users
id
username
Item
id
user_id
title_id
Item_Titles
id
title
用户模式:
public function items()
{
return $this->hasMany('Item', 'user_id', 'id');
}
产品型号:
public function user(){
return $this->belongsTo('User', 'user_id', 'id');
}
public function title()
{
return $this->belongsTo('ItemTitle','title_id','id');
}
ItemTitle型号:
public function item()
{
return $this->hasMany('Item', 'title_id', 'id');
}
UPDATE
请问可能是我并不清楚。准确地说 - 我只是想找到雄辩的替代:
$items=Item::where('user_id','=',Auth::id())->leftJoin('item_titles', 'item.title_id', '=', 'item_titles.id')->get();
@foreach ($items as $item)
{{ $item->title }}
@endforeach
Auth :: user() - >标题不明显。与项目相关的标题,而不是用户。我认为标题集合应该以某种方式与Item集合合并。或者加入应该用来代替雄辩的关系。 – user947668
我以为你想让它成为1级,因为这听起来像你想要的问题。尽管我会编辑我的答案。 –
这太可怕了,理想情况下你会相应地使用'first'和'pluck'。 – ash