Yii Framework Forum: Problemas al ejecutar una consulta - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Problemas al ejecutar una consulta no muentra los valores Rate Topic: -----

#1 User is offline   rafaelrs5648 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 252
  • Joined: 02-October 13
  • Location:Cuba

Posted 10 July 2018 - 09:42 AM

hola a todos comunidad, me esta sugiendo un error al ejecutar una consulta, tengo una tabla productos, la cual ejecuto con la consulta:
$codigo = $_POST['incodigo'];
$producto = Productos::model()->findByPk((string) $codigo);

en una accion del controlador, esta lee los resultados necesarios, me lee y muestra todos los campos de la tabla, seguidamente ejecuto una consulta en la misma accion, esta es la consulta:
$query = Yii::app()->db->createCommand()
                ->select('a.CodPVen')
                ->from('submayor a')
                ->join('subproductos s', 's.Codpro=a.Codpro')
                ->where('a.Codpro=:Codpro', array(':Codpro' => $producto->CodSubp))
                ->queryRow();

aqui en la consulta intento obtener los valores de los campos de la tabla submayor, para ello tengo lo siguiente:
tabla productos campo CodSubp, entre otros.
tabla subproductos campo Codpro, entre otros, Codpro es clave principal y esta realacionada con la tabla productos uno a varios con CodSubp.
tabla submayor campo Codpro, CodPVen, entre otros Codpro esta relacionada con Codpro de la tabla subproductos uno a varios, o sea puedo tener un Codpro para varios CodPVen.
Esta es la accion del controlador:
 public function actionObtenerProducto() {
        $codigo = $_POST['incodigo'];
        $destino = $_POST['idde'];
        $producto = Productos::model()->findByPk((string) $codigo);
      $query = Yii::app()->db->createCommand()
                ->select('a.CodPVen')
                ->from('submayor a')
                ->join('subproductos s', 's.Codpro=a.Codpro')
                ->where('a.Codpro=:Codpro', array(':Codpro' => $producto->CodSubp))
                ->queryRow();
      
        $producmayor = Submayor::model()->find('Codpro=:Codpro and CodPVen=:CodPVen', array(':Codpro' => $producto->CodSubp, ':CodPVen' => $query->CodPVen));
        
        if ($producto->Codde <> $_POST['idde'])
            echo "error";
        else
            echo CJSON::encode(array(
                'descripcion' => $producto->NProductos,
                'codigo' => $producto->Codprod,
                'preciomn' => $producto->PreMay,
                'existencia' => $producmayor->SaldoAct,
                'preciocuc' => $producto->PrCUC,
                'Idum' => $producto->UM,
                'CodPVen' => $producmayor->CodPVen,
            ));
    }

el objetivo es que al introducir un codigo de un producto de la tabla productos me lea la consulta $producmayor, y luego me muestre todos los valores del array del CJSON.
Pero al hacerlo me dice que esta intentado leer esto $query->CodPVen y no es un objeto, o sea que no encuentra el valor, dando este error en al hacer el debug (F12):
PHP Error [8]

Trying to get property 'CodPVen' of non-object (D:\xampp\htdocs\SoftVentas\protected\controllers\PrefacturasController.php:182)

#0 D:\xampp\htdocs\SoftVentas\protected\controllers\PrefacturasController.php(182): CWebApplication->handleError()
#1 D:\xampp\htdocs\framework\web\actions\CInlineAction.php(50): PrefacturasController->actionObtenerProducto()
#2 D:\xampp\htdocs\framework\web\CController.php(309): CInlineAction->runWithParams()
#3 D:\xampp\htdocs\framework\web\filters\CFilterChain.php(134): PrefacturasController->runAction()
#4 D:\xampp\htdocs\framework\web\filters\CFilter.php(41): CFilterChain->run()
#5 D:\xampp\htdocs\framework\web\CController.php(1146): CAccessControlFilter->filter()
#6 D:\xampp\htdocs\framework\web\filters\CInlineFilter.php(59): PrefacturasController->filterAccessControl()
#7 D:\xampp\htdocs\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter()
#8 D:\xampp\htdocs\framework\web\CController.php(292): CFilterChain->run()
#9 D:\xampp\htdocs\framework\web\CController.php(266): PrefacturasController->runActionWithFilters()
#10 D:\xampp\htdocs\framework\web\CWebApplication.php(283): PrefacturasController->run()
#11 D:\xampp\htdocs\framework\web\CWebApplication.php(142): CWebApplication->runController()
#12 D:\xampp\htdocs\framework\base\CApplication.php(162): CWebApplication->processRequest()
#13 D:\xampp\htdocs\SoftVentas\index.php(29): CWebApplication->run()

necesto alguna sugerencia para resolver esta consulta
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users