在Rest API中将参数作为原始JSON发送参数时,whereJsonContains()Laravel 5.8中的问题

时间:2019-07-06 13:34:58

标签: laravel

我正在使用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}}

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.

希望对您有帮助。