子查询不工作Laravel

时间:2017-09-12 21:24:21

标签: php laravel

我有查询从我的数据库查询保险单。除了查询的子查询部分外,一切正常。我现在已经看了一段时间,似乎无法确定问题。

$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数组为空。

谢谢!

0 个答案:

没有答案