$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];' –