C47
C47

Reputation: 661

Order By with Parameters (Query Builder)

I am trying to make a query with using Laravel's Query Builder:

<?php

$sql = Model::where('idLanguage',1)
    ->orderBy(function($query) use ($filter) {
    $filter['idRegion'] === 1 ? $query->orderBy('anyField','asc') : null;
    $filter['idRegion'] === 0 ? $query->orderBy('otherField','asc'): null;
})

However, it does not work. Somebody, please help me!

Upvotes: 0

Views: 573

Answers (1)

nakov
nakov

Reputation: 14288

Try replacing the code with the following:

if($filter['idRegion']) {
   $query->orderBy('anyField','asc');
} else {
   $query->orderBy('otherField','asc');
}

Upvotes: 1

Related Questions