如何修復此錯誤:'SQLSTATE:無效的參數編號”
P粉364129744
P粉364129744 2024-03-31 22:08:47
0
2
365

我嘗試了很多方法,但沒有修復這個錯誤,我該怎麼辦?

有程式碼

控制器

$ticketId = Tickets::get('id');

$assig_user_name = DB::table('tickets')
        ->join('users', 'tickets.assigned_id', '=', 'users.id')
        ->select('users.id','users.name')
        ->where('tickets.id', '=', $ticketId)
        ->get();

當我新增 $ticketId 時,它可以工作並顯示 id 是我想要的,但在加入時它不起作用。

P粉364129744
P粉364129744

全部回覆(2)
P粉289775043

$ticketId 傳回集合,如果您試圖取得所有擁有票證的用戶,那麼在這種情況下您可以執行類似的操作

$ticketId = Tickets::select('id')->get();

$assig_user_name = DB::table('tickets')
        ->join('users', 'tickets.assigned_id', '=', 'users.id')
        ->select('users.id','users.name')
        ->wherein('tickets.id',[$ticketId])
        ->get();
P粉309989673

SQLSTATE[HY093]:無效的參數編號通常表示您在查詢中提供了錯誤數量的佔位符,並且佔位符的數量與您嘗試綁定到這些佔位符的值的數量之間存在不符.

您可以嘗試:

$assig_user_name = DB::table('tickets')
        ->join('users', 'tickets.assigned_id', '=', 'users.id')
        ->select('users.id','users.name')
        ->where('tickets.id', '=', ':ticketId')
        ->setBindings([':ticketId' => $ticketId])
        ->get();

另一個問題可能是 $ticketId 是一個數組,因此您需要:

$assig_user_name = DB::table('tickets')
        ->join('users', 'tickets.assigned_id', '=', 'users.id')
        ->select('users.id','users.name', 'tickets.*')
        ->whereIn('tickets.id', $ticketId->pluck('id')->toArray())
        ->get();
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板