2016-08-08 3 views
0

В таблице много совпадающих учетных данных, которые вставлены в цикл foreach, но я получаю результаты только от первого элемента foreach. Как я могу это исправить?Получение результатов из первого элемента foreach

foreach($matches as $match) 
    { 
     $object = $match->object; 

     $sales->whereRaw("match (`object`) against (?)", array($object)); 

     if($match->colourBase == '1') 
     { 
      $sales->where('colour', '=', 'CC'); 
      $sales->orWhere('colour', '=', 'CC+DD'); 

      if($match->maxPrice) 
      { 
       $sales->where('price', '<=', $match->maxPrice); 
      } 

      if($match->minPrice) 
      { 
       $sales->where('price', '>=', $match->minPrice); 
      } 
     } 
    } 

    $results = $sales->orderBy('sales.updated_at', 'asc')->get(); 

@update

Это, как я получаю $ соответствует

$matches = Match::where('PeopleID', '=', $id)->get(); 
+0

почему вы используете зазоры в замках> цвет == 1 – coder

+0

@coder К сожалению, я сделал ошибку при получении кода. Теперь он исправлен. –

+0

Обновите свой вопрос с помощью массива $ matches – DsRaj

ответ

0

Если вы хотите только одна запись использование first() функции. Не нужно использовать foreach. :)

$matches = Match::where('PeopleID', '=', $id)->first(); 
Смежные вопросы