2016-08-02 4 views
1

Я использую структуру Yii2.PHP - Не удается распечатать мой результат sql

Я пытаюсь получить количество записей моей таблицы, и если результат меньше X, покажите это количество записей.

Когда я бегу мой сценарий, ошибка:

'Объект приложения класса \ модели \ BusquedaCotizacion не могут быть преобразованы в строку'

Это мой код:

$query = BusquedaCotizacion::find() 
           ->select('cotizacion') 
           ->where('LIKE', cotizacion, 'BOB') 
           ->all(); 
      $bobresult = count($query); 
      if ($bobresult < 6) { 
       echo ("No se obtuvieron todas las consultas de Bolivia. De las 6 posibles, se obtuvieron $bobresult."); 
      }else{ 
       echo ("Se obtuvieron todas las cotizaciones de Bolivia"); 
      } 

Буду признателен за любую помощь.

+1

Это потому, что вы эхо-переменная $ bobresult внутри указанной строки. – Bizley

+0

@Bizley Использование двоичной кавычки $ var внутри двоичного кода является нормальным в PHP .. таким образом оцениваются $ vars и содержимое, которое я правильно показывал в эхо ... ошибка OP была получена от других – scaisEdge

+0

@scaisEdge I знайте, что это нормально. Также я знаю, что не каждый класс имеет свою реализацию __toString(), и этого нет. Но вы правы, ошибка, вероятно, происходит из разных мест. – Bizley

ответ

1

Результата $ запроса, который вы пытаетесь подсчитать с счетом ($ запроса) представляет собой набор моделей, а не массив (или строки) ЮО делает в неправильном WYA

Вы должны использовать этот путь рассчитывать и модели

$query = BusquedaCotizacion::find() 
          ->select('cotizacion') 
          ->where('LIKE', cotizacion, 'BOB'); 

$numRow = $query->count(): 

$models = query->all(); 

В $ запросе вы должны подготовить Sql (PDO основе) Вам нужно и на этом можно применить функцию, которую нужно ... подсчитывать() для получения COUNT (*) и все () fpr получает все связанные модели;

Смежные вопросы