当前位置: 首页 > 知识库问答 >
问题:

Laravel-Select关系列

居星阑
2023-03-14

我试图编写一个查询,它从模型中选择列,然后从关系表中选择一列。

   public function members(){
    return $this->hasManyThrough('App\User', 'App\Membership', 'team_id', 'id', 'id', 'user_id');
}
public function skills()
{
   return $this->belongsToMany('App\Skill');
}
 $members = $this->team->members()
        ->select('id', 'name')
        ->with(['skills' => function ($query) {
          $query->select('name');
        }])
        ->get();
#relations: array:1 [▼
    "skills" => Illuminate\Database\Eloquent\Collection {#1657 ▼
      #items: []
    }
  ]

如何从此查询中的skills关系表中获取name列?

共有1个答案

范嘉
2023-03-14

要选择相关列,可以使用以下命令:

->with('members.skills:id,name')

如果没有在with中传递id属性,则关系无法工作

 类似资料:
  • 我有3个模型和一个透视表: 学校年-模型 ID 课程模式 ID schoolyear_id 课程\学生-数据透视表 课程号 学生证 学生模型 ID 关系是: 一学年有许多课程 一门属于任何学生的课程 在任何课程中的学生 什么是最快、更优雅的方法来找到学生进入一个学年,并且能够按学生属性进行排序?

  • 问题内容: 我在laravel中很难建立起非常嵌套的关系。 所需的行为如下, 我通过ID选择一个事件,我想查看哪些人已订阅该事件。 现在的问题是事件和人员之间有一些表格。 这是有效的查询! 事件模型 城市模型 公司模式 人物模型 我尝试过的 和 还有很多其他可能性,我真的很坚持。在laravel中实现这种嵌套关系链接如此困难吗? 谢谢! 问题答案: 如果只想从表中选择某些字段,请使用以下命令:

  • 问题内容: 有没有办法在laravel中合并2个关系? 这是现在设置的方式,但是有没有办法我可以将两者合并? 问题答案: 试用属性的getter方法,该方法返回从关系返回的合并集合。 或者,您可以在返回集合之前调用其他方法以获取不同的结果集。

  • 我有一个问题,我无法用文档解决。 我想在两个用户之间创建一个非常简单的对话系统。 我有3个模型和表: 用户id、名称 会话 id 消息 id,user_id,conversation_id,内容 因此,一条消息属于一个用户和一个对话,但我希望对话属于多个用户。 我不知道怎么用桌子做这个。如果我在对话表中创建一个字段,我不能有多个用户。。。

  • 问题内容: 我正在尝试获得最受欢迎的黑客马拉松,这需要通过各自的黑客马拉松订购。抱歉,这有点难以理解。 我有以下格式的数据库: 该模型是: 并定义为: 我已经尝试过,但是我觉得我犯了一个大错误(可能是$ this-> id),因为它根本不起作用。 我将如何尝试获取基于最多的相关hackathon参与者的最受欢迎的hackathon? 问题答案: 编辑:如果使用Laravel 5.2或更高版本,请使

  • 在Laravel中,我试图显示Auth::user(用户)和部门之间的关系元素。在用户表中,我有id、名称和部门id。在部门表中,我有id和名称。 在用户模型中,我创建 然后,在刀片模板中我尝试 Auth::user()- 但返回null,不显示链接的部门。Null不正确,所有用户都有部门。苏,有什么帮助吗?你们的关系有什么问题?