2017-08-13 7 views
2

私はこのようなcomaniesテーブルに3つのカラムを持っています。 is_verified、is_platinum、platinum_start_date、end_date。 4つの条件に代わってLaravelコレクションをソート

フロントエンドでは、データがページング形式で表示されているので、今では1つの変数のみでソートされた企業リストを取得したいと考えています。ただ、企業が最初の非プラチナなど

  1. すべてのPlatiniumのと検証企業
  2. すべてのPlatiniumの
  3. すべての検証企業
  4. まったく検証していないプラチナユーザーその後、検証後、検証表示する 。

私は、個々の変数

$企業の=のDeveloperCompaniesを使用してではなく、などを "ソート"、 "[並べ替え" で試してみました::どこ( 'is_approved'、 '='、 1) - > orderBy( '​​created_at'、 'desc') - >ページ区切り(9);

here is a table format

答えて

1

使用orderBy各列の4倍

$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

それが働いていますが、時にはそのプラチナが、START_DATEとEND_DATEの有効期限が切れているが、それがなることを意味偉大13-07-207-12- 08-2017 有効期限でない場合は、この値に適用できるチェックがあります。プラチナ会社 –

+0

現在、有効であるかどうかを確認するためにヘルパー機能を使用しています。スキップしますが、私はそのプロセスの時間をすべての値をチェックすると思います。 これは現在日付ではない場合は、この –

+0

のようにあなたの新しい条件のためにここで再度使用してください。 'DeveloperCompanies :: where(' is_approved '、' = '、1) - > where(' column '、'> = '、' value ')...' – Ali

関連する問題