我有2个模型(事件和预算)与雄辩的laravel相关,
public function budgeting()
{
return $this->hasMany('App\Budgeting', 'id_event', 'id');
}
这个代码控制器没有显示任何预算
public function data()
{
$listdata = Event::orderBy('id', 'desc')->with(array('budgeting'=>function($query){
$query->select('total','item');
}))->get();
return $listdata;
}
答案 0 :(得分:0)
在您的事件模型中建立另一个关系以仅获取特定列
setText
答案 1 :(得分:0)
它之所以不起作用,是因为你需要选择id_event
以便Eloquent建立关系。如果没有id_event
,则Eloquent不知道哪个Budgeting
属于哪个Event
。
要遵循的一般规则:每当您更改选择查询并建立关系时,您必须至少选择关系ID。
像这样更改您的查询,它应该有效。
$listdata = Event::orderBy('id', 'desc')->with(array('budgeting'=>function($query){
$query->select(`id_event`, 'total','item');
}))->get();