我正在使用Laravel 5.8,并在Rest API中将参数作为原始JSON发送,但是$data=DB::table('product_common_details')->whereJsonContains('service_id',$r->service_id)->where('status',1)->where('publish',1)->get();
无法正常工作,它没有任何响应。但是,当我将其作为表单数据发送时,它可以工作。
这在具有相同配置的本地计算机上工作
{{1}}
答案 0 :(得分:0)
我认为这是因为列和值之间的数据类型不同。
// [1, 2, 3] Incase of integers or decimal or double etc
->whereJsonContains('service_id', $r->service_id) // Works.
->whereJsonContains('service_id', '$r->service_id') // Doesn't work.
// ["1", "2", "3"] Incase of string or varchar
->whereJsonContains('service_id', '$r->service_id') // Works.
->whereJsonContains('service_id', $r->service_id) // Doesn't work.
希望对您有帮助。