Laravel在Json Column上加入两个表

时间:2018-03-21 06:08:52

标签: php mysql laravel

我有两个表(模型),一个带有json列,可能包含其他表上的id。我想将这两者结合在一起,如何将laravel连接链接到我的查询。

2 个答案:

答案 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()