sql >> Database teknologi >  >> RDS >> Mysql

Laravel:rækkefølge efter hvor i

Løsning:

$ids =array(1,17,2); $ids_ordered =implode(',', $ids); $items =static::whereIn('id', $ids) ->orderByRaw("FIELD(id, $ids_ordered)") ->get(); 

Yderligere bemærkninger:

Brug af løsningen fundet i en artikel med titlen Få alle varer på én gang ordnet efter den aktuelle rækkefølge af id'er i WHERE IN-klausulen ved hjælp af Eloquent :

// Rå SQL:// SELECT * FRA elementer WHERE id IN (1,2,3,4,5) ORDER BY FIELD(id,1,2,3,4,5); $itemIds =array(1,2,3,4,5); $ids =implode(',', $itemIds); $items =static::whereIn('id', $itemIds) ->orderByRaw(DB::raw("FIELD(id, $ids)")) ->take($limit) ->get();

  1. Hvordan kan flere rækker sammenkædes til én i Oracle uden at oprette en lagret procedure?

  2. Lær, hvordan du udfører en procedure i Toad For Oracle

  3. Prisma, hvordan man rydder databasen

  4. Fatal fejl:Kald til udefineret funktion session_register()