我有一個值陣列,我想在查詢模型時傳遞到我的 where 子句中
我如何實作這一目標?
我有 $categorypro 變數以這種格式低于陣列
Array
(
[0] => 4
[1] => 8
[1] => 5
)
目前我正在控制器中執行此操作,但沒有獲得某些類別的正確資料
以下是我的控制器代碼:
function filter_each_video(Request $request){
if(request()->ajax()){
if($request->has('categorypro') && ($request->get('categorypro')!= null)){
$categorypro = $request->get('categorypro');
$item = Item::whereIn('category_id', $categorypro)->get();
}
}
}
如果有人有更好的主意,請告訴我。或者這有什么問題然后給出一些想法
uj5u.com熱心網友回復:
通常,您會使用“whereIn”子句:
MyModel::whereIn('attribute', ['value', 'value', 'value'])
->get();
uj5u.com熱心網友回復:
首先,您的方法中已經有了$request,因此您無需呼叫request(). 始終確保您正在驗證您從請求中使用的任何資料。其次,您可以先獲取查詢,然后根據發布資料在必要時對其進行過濾。只將whereIn過濾器放在if塊內。
public function filter_each_video(Request $request)
{
$request->validate([
'categorypro' => 'nullable|array',
'categorypro.*' => 'int'
]);
$query = Item::query();
if ($request->ajax() && $request->categorypro) {
$query->whereIn('category_id',$request->categorypro);
}
$categories = $request->categorypro
? Category::whereIn('id',$request->categorypro)->get()
: null;
$items = $query->get();
return view('myview',compact('items'));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/324302.html
