Php Laravel SQLite中的查询不起作用
我正在将SQLite与我的Laravel应用程序一起使用,并尝试运行一个Php Laravel SQLite中的查询不起作用,php,sql,laravel,Php,Sql,Laravel,我正在将SQLite与我的Laravel应用程序一起使用,并尝试运行一个whereHas查询: $payments = Payment::whereHas('payers', function($q){ $q->where('user_id', '=', 1); })->get(); 这将返回一个空结果,这是由于整数1被转换为字符串,由laravel/eloquent生成的结果查询证明了这一点: select * from "payments" where (select
whereHas
查询:
$payments = Payment::whereHas('payers', function($q){
$q->where('user_id', '=', 1);
})->get();
这将返回一个空结果,这是由于整数1被转换为字符串,由laravel/eloquent生成的结果查询证明了这一点:
select * from "payments" where (select count(*) from "payers" inner join "payer_payment" on "payers"."id" = "payer_payment"."payer_id" where "payer_payment"."payment_id" = "payments"."id" and "user_id" = 1) >= '1'
回顾之后,我尝试使用DB::raw
如下:
$payments = Payment::whereHas('payers', function($q){
$q->where('user_id', '=', DB::raw(1));
})->get();
但没有改善。如何在不更改数据库驱动程序的情况下修复此问题
$payments = Payment::whereHas('payers', function($q){
$q->where('user_id', '=', 1);
}, '>=', DB::raw(1))->get();