我正在制作一個 laravel 應用程式,在這里我可以先按角色(分配給用戶)、檔案夾然后是子檔案夾來“過濾”我的“檔案”。對于查詢,我使用 for 回圈,但這可以根據我使用的“過濾器”回傳不同的值。現在 laravel 回傳這個錯誤資訊:
SQLSTATE[HY093]:引數號無效
詢問:
select * from `file` where `id` in (8, 12, 13, ?, ?, ?)
現在我想忽略那些'?并防止它回傳錯誤,我知道通過制作“?”是可行的 無效的。但我找不到辦法做到這一點
編碼:
public function show($id)
{
$user = Auth::user();
$userid = $user->id;
$role_id = $user->role_id;
$folders = Folder::all();
$file_role = File_Role::where('role_id', '=', $role_id)->pluck('file_id');
// dd($file_role[1]);
$count = count($file_role);
$i = 0;
var_dump($file_role);
for($i = 0; $i < $count; $i ) {
$file[] = File_Subfolder::where('subfolder_id', '=', $id)->where('file_id', '=', $file_role[$i])->pluck('file_id');
}
$chosenfile = File::whereIn('id', $file)->get();
return view('partner.subquents.sub_file', compact('chosenfile'));
}
$file 回傳 8,12,13,?,?,? 在這種情況下。這可以根據過濾器而改變
我嘗試了一個 foreach 回圈。我試圖在互聯網上找到如何將 NULL 分配給“?” 價值觀
正如您在我的 DD 中看到的那樣,有些人不回傳資料,但有些人會

uj5u.com熱心網友回復:
你可以試試這個:
$fileSubFolderCount = File_Subfolder::where('subfolder_id', '=', $id)->where('file_id', '=', $file_role[$i])->pluck('file_id')->count();
$file[] = $fileSubFolderCount > 0 ? File_Subfolder::where('subfolder_id', '=', $id)->where('file_id', '=', $file_role[$i])->pluck('file_id') : null;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/520030.html
標籤:php拉拉维尔
