我有两个表(模型),一个带有json列,可能包含其他表上的id。我想将这两者结合在一起,如何将laravel连接链接到我的查询。
答案 0 :(得分:1)
在连接查询中应用JSON逻辑,如:
Post::select('posts.id', 'posts.field1','posts.field2','samples.id as sample_id', ..)
->join('samples', 'posts.json_col_name.id', '=', 'samples.id')
->get();
当两个模型都包含具有通用名称的字段时,请确保在选择列时使用查询构建器(使用field_name as another_name
)不会发生冲突。
答案 1 :(得分:0)
事实证明,连接不起作用,因为json列将id字段存储为字符串,并且连接表的id存储为整数。 将结果强制转换为整数。让我们说表' a'是第一个包含json列的表,第二个表的id是表' b'。我做了。
setString()