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

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

Laravel 中的模型可以應用多個查詢嗎?

Laravel 中的模型可以應用多個查詢嗎?

PHP
慕萊塢森 2023-12-15 15:59:58
我目前正在嘗試通過模型使用 Laravel 控制器從數據庫獲取數據Maintain。有沒有辦法根據前端 axios post 發出的請求數據查詢數據庫,這包括變量 sub 和 zone,我有能夠使用 sub 或 zone 但不能同時使用兩者來獲取數據,有沒有辦法構建多 where 查詢 if $request包含必要的變量和標準請求,如果它們是 null 或 ""?  public function all(Request $request){    $query = [];    if($request->sub != ""){      array_push($query, ['subsystem', '=', $request->sub]);    }    if($request->zone != ""){      array_push($query, ['zone', '=', $request->zone]);    }    if(count($query) > 0){      return Maintain::all()->where($query);    }    else{      return Maintain::all();    }  }當前返回錯誤ErrorException: array_key_exists(): The first argument should be either a string or an integer in file,但我一直在使用 Laravel 參考,但它似乎不起作用。我使用 Postman 獲取 $query 的讀數,它包含以下內容:[ ['sub', '=', 'Subsystem 1'], ['zone', '=', 'Zone 1']]任何幫助,將不勝感激。
查看完整描述

1 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

嘗試這樣


public function all(Request $request){


? ?$result = Maintain::when($request->zone, function ($q) use($request){

? ? ? $q->where('zone', $request->zone);

? ?})

? ?->when($request->sub, function ($qw) use($request){

? ? ? $qw->where('subsystem', $request->sub);

? ?})

? ?->get();


? ?return($result);

}

when()方法看起來像 if-else


查看完整回答
反對 回復 2023-12-15
  • 1 回答
  • 0 關注
  • 163 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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