Merhabalar,
Şimdi şöyle bir problemi çözemedim.
Datatables server side için özel bir metod yazıyorum. Datatables query string içinde sıralanacak kolonu ve türünü gönderiyor. Yani order_by name asc, description desc gibi.
Model üzerinde de where sorgusunu yaptıktan sonra buna her bir order için orderBy metodunu nasıl ekleriz?
Örnek verecek olursam;
bana şöyle bir array geliyor.
$order = [
0=>['field'=>'name', 'type'=>'desc'],
1=>['field'=>'slug', 'type'=>'asc']
];
Bu array i bir loop a sokarak her bir order için field ve türünü orderBy yapmam lazım.
->orderBy('name','desc')->orderBy('slug','asc')
sonucunu vermesi gerekiyor. Aşağıdaki model instance'sine bunu eklemem lazım.
Company::where(function($query) use ($model_fields,$_search) {
foreach ($model_fields as $key => $value) {
$query->orWhere(DB::raw("CAST({$value} as TEXT)"),'like', '%'.$_search.'%');
}
});