2017-08-13 32 views
2

我在mysql.it中有一个这样的comanies表,它有3列。 is_verified,is_platinum,platinum_start_date,end_date。 table collumns代表四个条件对Laravel集合进行排序

在前端,数据显示为分页格式,因此现在我想要获取仅列出一个变量的公司列表。 只是为了显示公司首先验证再验证非铂然后等

  1. 所有白金和验证公司
  2. 所有白金
  3. 所有验证公司
  4. 所有没有证实也没有白金用户。

我已经通过 “排序依据” 试过了, “排序” 等,但通过使用单独的可变

$ =公司:: DeveloperCompanies其中( 'is_approved', '=', 1) - > orderBy('created_at','desc') - > paginate(9);

here is a table format

回答

1

使用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); 
+0

伟大它的工作,但有时它的铂金,但起始日期日期和结束日期已经过期意味着,这将是13-07-207-12- 08-2017 所以它已过期是否有任何检查,我可以申请只是在这个价值,如果它不是有效的日期范围它仍然是白金公司 –

+0

目前,我使用帮助功能在每个检查是否有效,然后显示其他跳过,但我认为它的时间需要检查每个值的过程。只是如果它不在日期跳过这 –

+0

再次用于您的新条件,像这样'DeveloperCompanies :: where('is_approved','=',1) - > where('column','> =','value ')...' – Ali

相关问题