2016-08-02 59 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获取相关模型;