在我的数据库上,我有一个通知表,该表的数据列包含这样的JSON字符串:
{"sender_id":2,"sender_name":"John Doe","message":"Hello world!"}
我需要在users.id = notifications.data.sender_id上加入用户表,但是我不知道如何或是否有可能。找不到有关这种查询的任何信息。
期待阅读您的解决方案。谢谢!
答案 0 :(得分:0)
您可以执行以下一些简单的解决方案:
$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);