如何将条件与查询构建器一起使用

How to use condition with query builder

我有订单 table,其中包含 status, paymode, pay_status

我想得到订单如果paymodecod那么pay_statusunconfirmed可以得到

如果 paymodepayu 那么 pay_status 只有 confirmed 可以得到

我在这里尝试 whereRaw

$orders = Order::whereHas('products', function (Builder $query) use ($seller) {
            $query->where('seller_id', $seller->id);
        })
            ->whereRaw('IF (`paymode` = `payu`, `pay_status` = `confirmed`)')
            ->paginate(25);

但它不起作用

您也可以针对多种情况尝试这样

 $orders = Order::whereHas('products', 
    function (Builder $query) use ($seller) { 
         $query->where('seller_id', $seller->id); 
    })->whereRaw('paymode = ? AND pay_status = ?', ['payu','confirmed']) 
      ->orWhereRaw('paymode = ? AND pay_status = ?', ['cod','unconfimed ']) 
    ->paginate(25);