2017-03-07 128 views
1
$exams=[{"id":1}]; 

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

如何做到這一點?搜索json的值在哪裏in laravel?

+0

'$ exams = [{「id」:1}];'是初始化對象的錯誤方法。它應該是'$ exams = [「id」=> 1];' –

回答

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及更高版本, - >運算符在與兩個參數一起使用時用作JSON_EXTRACT()函數的別名,l eft和右側的JSON路徑,這個路徑是根據JSON文檔(列值)進行評估的。您可以使用這些表達式來代替SQL標識符出現的列標識符。

+0

謝謝@vaibhavaraj,但這不起作用。在這裏,$ exam_id = [{「id」:1}]; – Cliffs

+0

我根據您的建議更新了我的答案。 –

+0

Thankyou @Vaibhav – Cliffs