【发布时间】:2019-08-20 21:24:39
【问题描述】:
假设我有一个查询,除其他外,它返回用户 ID,这个查询是使用 DB::table()... 而不是使用模型构建的,因此,我得到了一个包含每个检索行的数组的集合,一些像这样:
user_id | calculated_data
--------+----------------
1 | 123
2 | 111
3 | 222
... | ...
假设我将此集合存储在 $data 变量中,当然如果我这样做 foreach ($data as $d) { $d->user_id ... } 将起作用。
但我希望这个查询返回更像 ORM 所做的事情,所以 user_ids 会返回用户模型,以便我可以做,例如 $data->user->name
这甚至可以做到吗?如果有,怎么做?
【问题讨论】:
-
准确地说是 5.8.32
-
@miken32 只是想知道,但我对这个问题的标记出了什么问题?
-
特定于版本的标签最适合用于特定于版本的功能。因此,如果在 v 5 中引入了一个新功能并且您正在询问它,您将使用 laravel-5。这是从第一天开始就存在的框架的基本功能,因此与版本无关的标签就足够了。
-
除其他外是没有人能真正帮助你的原因。我们不知道您是如何到达所提供的桌子的,以及那里还有什么其他东西。您将不得不求助于
User::find(...);或使用(正确的)加入请求对原始数据库语句进行 ORM 化。 -
您应该在问题中包含示例查询和数据,而不是评论为什么它们不适合您的答案。人们想要帮助并需要所有信息才能这样做。