在数据库查询中将orderby从最高到最低

时间:2017-01-12 18:02:30

标签: php laravel-5

1.我对如何在我的数据库查询中添加排序顺序(从最高到最低)感到困惑。我尝试了一些代码,但它产生了一个错误。这里的任何帮助都是非常感谢。

dir()

2.在这里告诉我们。如何添加orderby(从最高到最低),因为它是两个不同的where子句。public function ListOrgaScholar($ship_id){ $ship = Scholarship::find($ship_id); $ship_age_from = $ship->ship_age_from; $ship_age_to = $ship->ship_age_to; $scholars = (new Scholar)->newQuery()->select('*'); $scholars->whereBetween(DB::raw('TIMESTAMPDIFF(YEAR,scholars.scholar_birthday,CURDATE())'),array($ship_age_from,$ship_age_to)); $scholars = $scholars->get(); } $ship_gpa_from是等级的输入。

$ship_gpa_to

1 个答案:

答案 0 :(得分:1)

您是否尝试将结果作为集合返回,然后对它们应用集合函数?代码看起来有点像这样:

$scholarship = Scholarship::find($id);

$scholars = Scholar::all();

$selectedScholars  = $scholars->filter(function ($item, $key) {
    $scholarAge = Carbon::now() - $item->scholar_birthday //this depends on the value of scholar_birthday;
    return ($scholarAge >= $scholarship->ship_age_from &&  $scholarAge <= $scholarship->ship_age_from);
})->sortBy("scholar_birthday");