【发布时间】:2018-04-19 07:49:56
【问题描述】:
我有一个名为items 的主表,其中有许多其他表的外键,例如(categories、sections .. 等)。
我在其他表与items 表之间创建了one-to-many 关系,因此每个类别都可以分配给多个项目,以此类推。
我想从其他表中获取填充有names 的items 表,而不仅仅是id。
所以它应该是这样的:
{id: 1, category_name: first, section_name: x .. }
我得到的是:
{id: 1, category_id: 1, section_id, 1}
我可以仅从查询中获取名称吗?因为我想将它们作为 JSON 传递给数据表。
这可能吗?
【问题讨论】:
-
如果您将 items 表与其他表连接起来,您可以这样做。或者只需为所有表定义模型,您就可以使用 Eloquent 的强大功能轻松获取所有数据。
-
@jedrzej.kurylo 我确实定义了所有模型,但无法从两个表中获取包含完整记录的一行数据(就像 JOIN 一样)。
-
我不知道你以后会用这些数据做什么,一般来说模型应该是你最好的选择,但如果你真的想把所有东西都放在一行中,那么连接是你唯一的选择选项 - 请参阅此处的文档 laravel.com/docs/5.5/queries#joins
-
@jedrzej.kurylo 只想显示多个表中的特定行。
-
@jedrzej.kurylo 假设我想显示名称而不是 ID。
标签: laravel model eloquent laravel-5.5