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

Laravel Eloquent-在查询结果中包含相关列

王嘉木
2023-03-14
users (id, userWorkAddressID, ...)

addresses (ID, ...)
public function address()
{
    return $this->hasOne('Address', 'ID', 'userWorkAddressID');
}

地址

public function user()
{
    return $this->belongsTo('User', 'id', 'userWorkAddressID');
}

我尝试过的事情

$user = User::find($id);

这只返回用户数据-没有地址数据

$user = User::find($id)->address
$user = User::with('address')->find($id);
$user = User::with(array('address' => function($query){
    $query->addSelect(array('id', 'addressLine1'));
}))->find($id);

共有1个答案

符俊材
2023-03-14

首先,你的亲戚是错的。两者都更改为:

public function address()
{
    return $this->hasOne('Address', 'userWorkAddressID', 'ID');
}
Address

public function user()
{
    return $this->belongsTo('User', 'userWorkAddressID', 'id');
}

然后你可能会看到相关的模型。只要记住:

1热切加载相关模型:`$user=user::with('address')->find($someid);

 类似资料:
  • 问题内容: 有没有一种方法可以在sql查询的顶部包含一个空白行,例如,是否打算将其用于下拉列表?(MS Sql Server 2005或2008) 我想要什么 从通常只是上面的表,但没有第一行? 问题答案: 我觉得在SQL之外执行此操作会更好,但是如果您坚持要…

  • 问题内容: 我认为sql server中的每一行都有一个唯一的编号。如何在我的SQL查询结果中包括它? 问题答案: 如果在运行查询时引用的是Management Studio提供的行号,则无法获得该行号,因为它实际上并不存在。Management Studio可以即时生成该文件。但是,如果您使用的是SQL Server 2005或更高版本,则可以使用ROW_NUMBER排序功能重新创建序列号。注意

  • 我在集合中有大约30条记录,其中几乎25条包含单词。现在,当我尝试使用时,它不会返回任何东西。 下面是我的查询代码: 下面是我的Firestore截图:

  • 首先,对不起我的英语不好! 我是Lucene图书馆的新人(从上周三开始),我试图了解如何根据找到的术语获得匹配文档的最佳相关性级别。 我使用Lucene 4.10。0(无Solr) 我能够索引/搜索英语/阿拉伯语文本,以及支持这些文本的点击突出显示。 现在我有一个问题与搜索结果的相关性。 如果我在三个文档中搜索“穆罕默德·奥马尔”: 我得到同样的分数为这3文档。 看起来Lucene忽略了单词顺序,

  • 要运行查询,在工具栏中点击 运行 。如果查询语句是正确的,该查询将被运行,如果该查询应该返回数据,结果 选项卡会打开查询返回的数据。如果运行查询时发生错误,运行停止,显示相应的错误信息。 结果 选项卡以网格显示查询返回的结果数据。数据可以用两种模式显示:网格查看 和 表单查看。详细信息请看表查看 器。 提示:Navicat 支持返回 10 个结果集。 注意:你可以通过选择 查看 -> 显示结果 -

  • 你可以在任何的服务器运行查询。在工具栏的下拉式列表中选择目标服务器和数据库。然后点击 “运行”。如果该查询语句是正确的,它将被运行。如果该查询应该返回数据,“结果”选项卡会打开并显示返回的数据。如果运行查询时发生错误,运行会停止并显示相应的错误信息。 “结果”选项卡以网格显示查询返回的结果数据。数据可以用三种模式显示:网格视图、树视图和 JSON 视图。详细信息请参阅数据查看器。 【注意】Navi