在我的数据库中,我有一个通知表,其中有一个数据列,其中包含如下所示的JSON字符串:
{"sender_id":2,"sender_name":"John Doe","message":"Hello world!"}
我需要的是加入users.id = notifications.data.sender_id上的users表,但我不知道这是如何实现的,甚至不知道是否可行。找不到有关此类查询的任何信息。
期待阅读您的解决方案。谢谢!
发布于 2019-03-17 17:01:10
你可以做一个简单的解决方案,就是:
$id = 123;
YourModel::where('json_data_column', 'like', '%"sender_id":' . $id . ',%');
您基本上是在JSON中进行字符串搜索。但是,MySQL中也有一种JSON列类型,它可以更好地支持JSON
搜索。然后,您可以执行以下操作:
$id = 123;
YourModel::where('json_data_column->sender_id', $id);
https://stackoverflow.com/questions/55207740
复制相似问题