【发布时间】:2016-11-10 15:33:21
【问题描述】:
我正在尝试从控制器传入的数据集合中访问关系表。我能够在我的视图中迭代集合,但我无法访问关系数据。
有2张桌子:
- 库存(默认模型)
- stock_datas(具有已设置的外键 stock_id)
控制器:
public function getstock() {
return view('vehicles.getstock', ['stock' => \App\Stock::all()]);
}
模型(App\Stock)然后是(App\StockData)
// From stock model:
public function stockdata() {
return $this->hasOne('App\StockData');
}
// Stock Data model:
public function stock() {
return $this->belongsTo('App\Stock');
}
查看(循环):
@foreach ($stock as $k => $v)
{{ print_r($v->stockdata()->get())->year }}
@endforeach
当我尝试下面的查询时,我得到一个
Undefined property: Illuminate\Database\Eloquent\Collection::$year (View: F:\websites\tempsite\resources\views\vehicles\getstock.blade.php)
但是,year 是 stock_datas 表中的一列。
我还能够从 \App\StockData() 表中打印_r 数据,因此对表的引用是正确的,因为从控制器执行 print_r(\App\StockData::all()) 确实将所有行返回为预计。
我做错了什么?
【问题讨论】:
标签: laravel laravel-5 eloquent