首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从关系型laravel 5中只获取I列

如何从关系型laravel 5中只获取I列
EN

Stack Overflow用户
提问于 2015-12-04 11:47:06
回答 2查看 526关注 0票数 0

我有两个模型(事件和预算)与雄辩的拉拉,

模型事件的预算实现

代码语言:javascript
复制
public function budgeting()
{
  return $this->hasMany('App\Budgeting', 'id_event', 'id');
}

我只想从预算中得到一栏“总计”

这个代码控制器从预算中什么也没有显示出来。

代码语言:javascript
复制
public function data()
{
  $listdata = Event::orderBy('id', 'desc')->with(array('budgeting'=>function($query){
    $query->select('total','item');
    }))->get();

  return $listdata;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-04 16:59:23

它不起作用的原因是,您还需要选择id_event,以便雄辩地建立关系。没有id_event,雄辩者就不知道Budgeting属于哪个Event

要遵循的一般规则是:每当您更改select查询并构建关系时,您必须至少选择关系ids。

像这样更改您的查询,它应该可以工作。

代码语言:javascript
复制
$listdata = Event::orderBy('id', 'desc')->with(array('budgeting'=>function($query){
    $query->select(`id_event`, 'total','item');
}))->get();
票数 0
EN

Stack Overflow用户

发布于 2015-12-04 11:56:34

在事件模型中创建另一个关系,只获取特定列

代码语言:javascript
复制
public function totalBudgeting()
{
     return $this->hasMany('App\Budgeting', 'id_event', 'id')->select(['total','item']);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34087703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档