我有查询从我的数据库查询保险单。除了查询的子查询部分外,一切正常。我现在已经看了一段时间,似乎无法确定问题。
$approvedPolicies = InsurancePolicy::join( 'proofs', 'insurance_policies.id', '=', 'proofs.insurance_policy_id' )
->where( 'insurance_policies.resident_id', $resident->id )
->where( 'insurance_policies.policy_title', '!=', 'Master Policy' )
->where( function ( $query ){
$query->orWhere( 'cancel_date', 'IS', 'NULL' )
->orWhere( 'cancel_date', '0001-01-01 00:00:00' )
->orWhere( 'cancel_date', '>', 'NOW()' );
} ) // this subquery causes issue
->where( function ( $query ){
$query->orWhere( 'expiration_date', 'IS', 'NULL' )
->orWhere( 'expiration_date', '0001-01-01 00:00:00' )
->orWhere( 'expiration_date', '>', 'NOW()' );
} ) // this sub query causes issue
->whereNull( 'insurance_policies.deleted_at' )
->where( 'proofs.status', 'Approved' )
->whereNull( 'proofs.deleted_at' )
->get();
根据我的数据库中的数据,这些查询不应返回null,但是当执行这些子查询时,我的$ approvedPolicies数组为空。
谢谢!