亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 中具有多個條件的多個預加載

Laravel 中具有多個條件的多個預加載

PHP
繁花如伊 2022-12-03 10:43:04
我正在使用 Laravel 5.7 版本。我想對 where 子句使用多個預加載。我簡化了 laravel。$query = Employee::with(['User','Company','Client'])                   ->select(*)->whereRaw("(User.id <> 0 and Company.name LIKE %A%) OR Client.id <> 0)")我正在使用預加載來避免 JOIN 語句。但問題是錯誤消息說 User.id is unknown column in where 子句。我相信另外兩個也是未知的專欄。任何想法,將不勝感激。
查看完整描述

1 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

它看起來有點丑陋,但你可以使用閉包:


$query = Employee::with('User', function ($inner) {

    $inner->where('id', '!=', 0);

})->with(['Company', 'Client'])

->where(function (Builder $sub) use($companyName) {

    $sub->where('Company.name', 'like', $companyName)

        ->orWhere('Client.id', '!=', 0);

})->get();

這將檢索:


employees where (user.id != 0 AND (company.name LIKE :companyName OR client.id != 0))

為了修改這些約束的順序,您需要根據您的要求移動閉包和約束,但據我所知,應該這樣做。


查看完整回答
反對 回復 2022-12-03
  • 1 回答
  • 0 關注
  • 152 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號