Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Laravel OrderByRaw-Spalte nicht gefunden

Da die IDs Zeichenfolgen sind, müssen Sie sie kapseln. Glücklicherweise kann Laravel das für Sie erledigen. Versuchen Sie es damit:

$ids = implode(',', $arr);
$qs = array_fill(0,count($arr),'?');
$query = User::whereIn('id', $arr)->isActive()->orderByRaw(DB::raw("FIELD(id,". implode(',', $qs).")"),$arr)->get();