Eloquent 一对多关系的错误
Posted
技术标签:
【中文标题】Eloquent 一对多关系的错误【英文标题】:Error with Eloquent one to many relationship 【发布时间】:2018-11-19 02:03:04 【问题描述】:一对多模型存在问题。我知道要访问一个 1 到多个,需要迭代一个 foreach 循环。我这样做并得到空白。
物品模型
class Item extends Model
protected $table = 'items';
public function offers()
return $this->hasMany('App\Offer','listing_id');
报价模式
class Offer extends Model
protected $table = 'offers';
public function item()
return $this->belongsTo('App\Item','listing_id');
物品控制器:
public function index()
$user_id = auth()->user()->id;
$listings = Item::with('offers')->where('user_id','1')->paginate(2);;
return view('user.dashboard')->with('listings',$listings);
查看:
@foreach ($listings as $listing)
listing->offer_price
@endforeach
所以我试图通过 listing->offer_price 从报价表中引用一个值,但视图中没有显示任何内容 - 空白?每个项目都有多个报价
【问题讨论】:
【参考方案1】:你需要两个循环:
@foreach ($listings as $listing)
@foreach ($listing->offers as $offer)
$offer->price
@endforeach
@endforeach
【讨论】:
以上是关于Eloquent 一对多关系的错误的主要内容,如果未能解决你的问题,请参考以下文章
Laravel5.6 Eloquent ORM 关联关系,一对一和一对多