$exams=[{"id":1}];
$toReturn['exams'] =exams_list::whereIn('examClasses',$exams)->get()->toArray();
如何做到这一点?搜索json的值在哪里in laravel?
$exams=[{"id":1}];
$toReturn['exams'] =exams_list::whereIn('examClasses',$exams)->get()->toArray();
如何做到这一点?搜索json的值在哪里in laravel?
你可以做如下
$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及更高版本, - >运算符在与两个参数一起使用时用作JSON_EXTRACT()函数的别名,l eft和右侧的JSON路径,这个路径是根据JSON文档(列值)进行评估的。您可以使用这些表达式来代替SQL标识符出现的列标识符。
'$ exams = [{“id”:1}];'是初始化对象的错误方法。它应该是'$ exams = [“id”=> 1];' –