2016-08-02 39 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在PHP中,使用雙引號內的$ var是正常的。通過這種方式,$ 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(); 

在$查詢你應該得到COUNT(*)和所有準備SQL(PDO爲主)您需要並在此您可以將您所需要的功能... COUNT()( )fpr獲取相關模型;