2017-02-02 3 views
0

Je suis en train de faire quelque chose comme:Enregistrements uniques d'éloquent où certain champ est maximum dans laravel?

$this->inbox->where('status', 'COMPLETED')->get(); 

qui me renvoie une liste d'enregistrements avec app_ids répétées comme:

1111 
2222 
3333 
1111 
2222 
3333 
3333 
2222 

Et ainsi de suite. J'aimerais avoir app_ids unique où del_index est maximum. J'ai essayé mais a échoué:

$archive = $this->inbox->where('status', 'COMPLETED')->where(function($query){ 
      $query->max('del_index'); 
     })->get(); 

Répondre

1

appliquent cela devrait fonctionner

$archive = $this->inbox->select(\DB::RAW('DISTINCT("del_index")'))->where('status', 'COMPLETED')->orderBy('del_index','desc')->first(); 
+0

Cela me donnerait un seul enregistrement. Je ne veux pas d'un disque. Je veux tous les enregistrements qui ont app_ids unique mais le del_index est le plus élevé. – Rohan

+0

ok alors utilisez get() insetead de first(). Obtenir ira chercher tous les enregistrements. –