So beheben Sie diesen Fehler: „SQLSTATE: ungültige Parameternummer'
P粉364129744
P粉364129744 2024-03-31 22:08:47
0
2
259

Ich habe viele Methoden ausprobiert, aber nichts hat diesen Fehler behoben. Was soll ich tun?

Es gibt einen Code

Controller

$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();

Wenn ich $ticketId hinzufüge, funktioniert es und zeigt an, dass die ID das ist, was ich möchte, aber beim Beitreten funktioniert es nicht.

P粉364129744
P粉364129744

Antworte allen(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();
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!