Rumah > Soal Jawab > teks badan
Saya telah mencuba banyak kaedah tetapi tiada yang membetulkan ralat ini, apakah yang perlu saya lakukan?
Ada kod
Pengawal
$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();
Apabila saya menambah $ticketId ia berfungsi dan menunjukkan id adalah apa yang saya mahu tetapi apabila menyertai ia tidak berfungsi.
P粉2897750432024-04-01 21:17:27
$ticketId mengembalikan koleksi, jika anda cuba mendapatkan semua pengguna yang mempunyai tiket maka dalam kes ini anda boleh melakukan sesuatu seperti
$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粉3099896732024-04-01 12:33:37
SQLSTATE[HY093]: Nombor parameter tidak sah biasanya bermakna anda memberikan bilangan ruang letak yang salah dalam pertanyaan dan terdapat ketidakpadanan antara bilangan ruang letak dan bilangan nilai yang anda cuba ikat dengan ruang letak tersebut.
Anda boleh mencuba:
$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();
Masalah lain mungkin ialah $ticketId ialah array, jadi anda memerlukan:
$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();