Ich habe einige berechnen in einer Ansichtstabelle für Produkte in MYSQL, also liste ich diese ID für die Produktreferenz ID.So bestellen Sie, wo in Felder in Laravel
$referenceIds = viewTable::orderBy('score', 'DESC')->lists('product_id');
Und ich möchte das Produkt von dieser Referenz-ID erhalten.
$products = Product::whereIn('id', $rederenceIds);
Das Produkt Inhalt ist richtig, aber die Reihenfolge ist falsch, wie Produktauftrag von Referenz-ID zu laden, ich weiß, ich es in MySQL tun kann ORDER BY FIELD(id,' . $fields . ')
durch, aber ich mag Laravel Weg, um herauszufinden, und hoffe nicht ORDER BY FIELD
Befehl verwenden, weil es zu viel Datenbankeffizienz zu verschwenden scheint.
Als Endergebnis versuchen Sie, die Produkte oder die referenceIds zu bestellen? –
'orderBy (DB :: roh ('FIELD (id,'. Implode (',', $ productStarScoreIds). ')'), 'ASC')', das ist die Lösung, aber ich möchte Laravel Lösung herausfinden wenn möglich. – Chan