Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 代表四个条件对Laravel集合进行排序_Php_Mysql_Sorting_Laravel 5 - Fatal编程技术网

Php 代表四个条件对Laravel集合进行排序

Php 代表四个条件对Laravel集合进行排序,php,mysql,sorting,laravel-5,Php,Mysql,Sorting,Laravel 5,我在mysql中有一个这样的comanies表,它有3列。是否已验证、是否为白金、白金开始日期、结束日期。 在前端,数据以分页格式显示,因此现在我只想将公司列表按一个变量排序。 只是为了显示公司先验证后未验证,然后是白金等 所有铂和经过验证的公司 全铂 所有经核实的公司 所有这些都没有经过验证,也没有白金用户 我尝试了“orderBy”、“Sorting”等,但使用了单个变量 $companys=DeveloperCompanies::where('is_approved','=', 1) -

我在mysql中有一个这样的comanies表,它有3列。是否已验证、是否为白金、白金开始日期、结束日期。

在前端,数据以分页格式显示,因此现在我只想将公司列表按一个变量排序。 只是为了显示公司先验证后未验证,然后是白金等

  • 所有铂和经过验证的公司
  • 全铂
  • 所有经核实的公司
  • 所有这些都没有经过验证,也没有白金用户
  • 我尝试了“orderBy”、“Sorting”等,但使用了单个变量

    $companys=DeveloperCompanies::where('is_approved','=', 1) ->orderBy('created_at','desc')->paginate(9)


    对每列使用
    orderBy
    四次

    $companies = DeveloperCompanies::where('is_approved', '=', 1)
    ->orderBy('is_verified', 'desc')
    ->orderBy('is_platinium', 'desc')
    ->orderBy('platinium_start_date', 'desc')
    ->orderBy('platinium_end_date', 'desc')
    ->paginate(9);
    

    很好,它正在工作,但有时它的白金但开始日期和结束日期已过期意味着它将于2017年7月13日至207年12月8日到期,因此它已过期。如果它的日期范围无效,是否有任何检查我可以仅应用于此值,它仍然是白金公司当前,我在for each中使用helper函数来检查它是否有效,然后显示,否则跳过,但我认为它需要花费时间来检查每个值。如果它不在最新版本,请跳过此选项,再次使用where作为新条件,例如
    DeveloperCompanies::where('is_approved','=',1)->where('column','>=','value')…
    yes,我只想把这个条件应用于那些有值为\u platinum=1的列?不,你不明白我的意思,好吧,好吧,我只想忽略有值为\u platinum=1的公司,但是它的开始、结束\u日期无效意味着它已经过期,所以我想跳过它。在这个条件下,不首先出现吗?