mysql - 从 MySQL 的列中查找数组中的元素

标签 mysql string laravel

我有一个表“通知”。在我的数据列中,我有一个类似数组的:

{  
   "title":"Something",
   "arr":{  
      "id":12,
      "name":"HelloWorld",
      "avatar":null
   }
}

我想检查元素(通知)例如 arr->id == 12 (或其他内容)。 我尝试 make query buildng 但没有任何效果。示例:

$hello = auth()->user()->unreadNotifications->where('notifiable_id', Auth::user()->id)
                             ->where('data', '%12%')->first();

$hello = auth()->user()->unreadNotifications->where('notifiable_id', Auth::user()->id)
                              ->where('data->arr->id', '12')->first();

谁知道怎么做?

最佳答案

您可以使用此 ..SELECT JSON_SEARCH(......) 获取更多引用,您可以引用此链接 How to search JSON array in MySQL?

关于mysql - 从 MySQL 的列中查找数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57471860/

相关文章:

php - 从数据库中获取随机数据,无需刷新页面

mysql - 触发语句写入错误

python - 通配符字符串搜索

php - 通过输入类型文本防止 SQL 注入(inject)

java - 字符串池相关概念但令人困惑

PHP Faker 生成范围内的唯一日期

javascript - Laravel 在加载时使用 javascript 获取 session

php - 从同一个表中选择列

mysql - 跟踪对 drupal 实体的更改

php - 使用 laravel 获取具有子类别的类别