我想使用jQuery datatable创建一个列表。但是我对以下用法有疑问。
我的储备模型:
//Reserve Author
public function author(){
return $this->belongsTo(User::class, 'author_id');
}
//Reserver
public function reserver(){
return $this->belongsTo(User::class, 'reserver_id');
}
//Stock
public function stock(){
return $this->belongsTo(Stock::class, 'reference_id', 'code')->where('company_id', $this->company_id);
}
以下用法成功运作
$reserve = Reserve::find(id);
$reserve->stock->name;
但这种用法不起作用:
Reserve::with('reserver','author', 'stock')->get()->toJson();
Reserver和author关系正在使用此代码,但stock返回null对象。我究竟做错了什么?如果你能帮助我,我会很高兴的。感谢。
答案 0 :(得分:0)
我以不同的方式解决了这个问题。我习惯了每种方法,现在都在工作。
Reserve::with('reserver','author')->get()->each(function($q){
$q->setAttribute('stock', $q->stock->toArray());
})->toJson();
如果有更好的方法,我想使用它。感谢。