Abfrageergebnisse von cdbcommand Yii erhalten [php]


Answers

$data->queryRow(); gibt das Ergebnis im Array-Format zurück. Ihr Code gibt $data zurück, $data denen es sich um ein Objekt handelt, das kein Ergebnis der Abfrage ist. Deshalb erhalten Sie diesen Fehler.

Wenn Sie einen einzelnen Wert abrufen möchten, können Sie $ data-> queryScalar ();

Im Falle von queryRow() Ihr Code sein

public function getQuotes()
    {            
        $data = Yii::app()->db->createCommand('Select * from city_fare_final');            
        $result = $data->queryRow();            
        return $result ; //this will return result in array format (single row)
    }

Für einen einzelnen Feldwert wird der Code sein

public function getQuotes()
    {            
        $data = Yii::app()->db->createCommand('Select xyz from city_fare_final');            
        $result = $data->queryScalar();            
        return $result; //return single value of xyz column
    }

Ich hoffe, das wird helfen.

Question

Ich habe versucht, die Ergebnisse meiner Abfrage für die letzten zwei Stunden zu bekommen, in meinem Modell habe ich das

public function getQuotes()
        {            
            $data = Yii::app()->db->createCommand('Select fromm from city_fare_final');            
            $data->queryRow();            
            return $data ;
        }

in der Steuerung

    public function actionIndex()
{
    // renders the view file 'protected/views/site/index.php'
    // using the default layout 'protected/views/layouts/main.php'
            $model=new QuoteForm();

    if(isset($_POST['QuoteForm']))
    {
                $model->attributes=$_POST['QuoteForm'];

                if ($model->validate())
                {
                    $priceTable=new CityFareFinal;
                    $priceTable->fromm=$model->pickupL;
                    $priceTable->too=$model->dropoffL;                    
                    $priceTable->type_of_car=$model->type;                        
      this->render('result',array('model'=>$priceTable))                        
                }

                }
            else
            {
                $this->render('index',array('model'=>$model));                
            }
}

und in der Aussicht

    <div id="moduleResult">                          
        <span><?php echo $model->getQuotes() ;?><------ Here</span>
    </div>     

aber es gibt mir immer einen Fehler, der besagt "Objekt der Klasse CDbCommand konnte nicht in String konvertiert werden", was kann ich tun, um die Ergebnisse meiner Abfrage im Modell zu erhalten ???

Grüße Gabriel




 Model: Notices.php:
---------------------------------
public function getNoticesBlog($offset = 0){
    $dataResult =  Yii::app()->db->createCommand()->select('*')->from($this->tableName())
    ->andWhere("delete_flg=:delete_flg",array(':delete_flg'=>0))
    ->andWhere("publish=:publish",array(':publish'=>1))
    ->limit(3)->offset($offset)->order('created_on DESC')->queryAll();
    return $dataResult;
}

Controller: HinweiseController.php

$firstNotices   = Notices::model()->getNoticesBlog(0);
$secondNotices  = Notices::model()->getNoticesBlog(3);
$thirdNotices   = Notices::model()->getNoticesBlog(6);

$this->render('Notices',array(
        'firstNotices'=>$firstNotices,
        'secondNotices'=>$secondNotices,
        'thirdNotices'=>$thirdNotices,
        )
    );