【问题标题】:Laravel eager loading, loaded table fieldsLaravel 急切加载,加载表字段
【发布时间】:2014-08-30 20:23:49
【问题描述】:

如何选择我想从with ORM eloquent 中获取哪些字段。例如

$tourTeams = Tournament::with('teams')->where('id', $tourId)->first();

我只想从团队关系中获取名称(不包括 id 和时间戳)。

我在文档中没有。对于Tournament eloquent,我可以通过get 函数来完成,同时向它传递一个字段名称数组,如下所示:get(array('name', 'id'))。但是我如何在Team eloquent 上做到这一点?

注意:这里是 Team 与 Tournament 的关联方式,这段代码取自 Tournament eloquent 文件:

公共职能团队() { return $this->belongsToMany('Team', 'Tournament_Team'); }

【问题讨论】:

  • 这是 stackoverflow.com/questions/23709936/… 的副本,我刚刚在 4.2 上测试过,但仍然无法正常工作。
  • 自 4.1 以来有一个解决此问题的拉取请求,但 Taylor 尚未合并该问题。

标签: php laravel orm laravel-4 eloquent


【解决方案1】:

您可以像这样从关系中获取特定列:

 $tourTeams = Tournament::with(['teams'=>function($q){
         $q->select('id','name');
 }])->where('id', $tourId)->first();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 2021-04-23
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多