在laravel中的whereIn中搜索json值?

时间:2017-03-07 06:31:56

标签: json laravel

$exams=[{"id":1}];

$toReturn['exams'] =exams_list::whereIn('examClasses',$exams)->get()->toArray();

怎么做?

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作

$exam_id = 1;
$toReturn['exams'] =exams_list::where('examClasses->"$.id"',$exam_id)->get()->toArray();

//As per your question
//$exams=[{"id":1}]; =======> Wrong way
$exams=["id" => 1];
$toReturn['exams'] =exams_list::where('examClasses->"$.id"',$exam["id"])->get()->toArray();

请参阅下面的示例,请参阅https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html

  
      
  • 列 - >路径
  •   
     

在MySQL 5.7.9及更高版本中, - >当与两个参数一起使用时,operator充当JSON_EXTRACT()函数的别名,左侧是列标识符,右侧是根据JSON文档评估的JSON路径(列值)。您可以在SQL语句中的任何位置使用此类表达式代替列标识符。