laravel plusieurs clauses where dans une boucle

Assez bien je veux la requête pour sélectionner tous les enregistrements d'utilisateurs qui ont 25 ans ET sont, soit entre 150 et 170 cm OU 190-200 cm.

J'ai cette requête écrite vers le bas ci-dessous. Cependant le problème est qu'il ne cesse de 25 ans OU les personnes qui sont 190-200 cm au lieu de 25 ans qui sont 150-170 OU 25 ans que 190-200 cm de haut. Comment puis-je résoudre ce problème? grâce

 $heightarray=array(array(150,170),array(190,200));
 $user->where('age',25);

   for($i=0;$i<count($heightarray);i++){
 if($i==0){
   $user->whereBetween('height',$heightarray[$i])
}else{
   $user->orWhereBetween('height',$heightarray[$i])
 }
 }
      $user->get();

Edit: j'ai essayé avancé wheres (http://laravel.com/docs/queries#advanced-wheres) et il ne fonctionne pas pour moi que je ne peux pas passer le $heightarray paramètre dans la fermeture.

de laravel documentation

 DB::table('users')
        ->where('name', '=', 'John')
        ->orWhere(function($query)
        {
            $query->where('votes', '>', 100)
                  ->where('title', '<>', 'Admin');
        })
        ->get();
  • Vous avez besoin de faire usage de advance mario.
  • J'ai essayé, mais je ne peux pas passer des variables dans les fermetures
  • Pouvez-vous poster les avancées où la déclaration que vous avez essayé?
  • J'ai fait quelque chose) des nouvelles Jeemusu dans le fond
InformationsquelleAutor user1424508 | 2013-10-21