Laravel json join,尝试加入具有多个 id 的 JSON 列和具有位置 id 的位置表,查询生成器
Posted
技术标签:
【中文标题】Laravel json join,尝试加入具有多个 id 的 JSON 列和具有位置 id 的位置表,查询生成器【英文标题】:Laravel json join , Trying to Join JSON column having multiple ids with table of locations having location ids, query builder 【发布时间】:2020-08-12 18:17:58 【问题描述】:我试图加入两个表,一个包含位置,另一个包含多个位置的 archive_data。所以我将存档数据中的位置存储为 json 像这样 ["1","2","3"]
我的查询:
DB::table('archive_data as a')
->join('person as pe', 'pe.pe_id', '=', 'a.a_pe_id')
->join('portfolio as p', 'p.p_id', '=', 'a.a_p_id')
->join('tag as ta', 'ta.ta_id', '=', 'a.a_ta_id')
->join('type as t', 't.t_id', '=', 'a.a_ty_id')
->join('location as l', 'l.l_id', '=',"a.a_lc_id")
->join('series as s', 's.s_id', '=', 'a.a_s_id')
->join('bundle as b', 'b.b_id', '=', 'a.a_b_id');
请告诉我如何使用 laravel 查询生成器连接这两个表。先感谢您。
【问题讨论】:
【参考方案1】:我不完全知道业务案例是什么,但最好再看看您的数据库结构,以便更轻松地检索数据。
如果您确实需要将存档数据存储在 json 中,我建议您查看类似的 *** 问题Laravel join two tables on Json Column
【讨论】:
逻辑是archive_data是一张表,它的一条记录可以有多个位置。为了获取位置详细信息,我想将其与位置表连接起来。但是发现很难加入 json 列。以上是关于Laravel json join,尝试加入具有多个 id 的 JSON 列和具有位置 id 的位置表,查询生成器的主要内容,如果未能解决你的问题,请参考以下文章