php yii2 - Abfrageergebnisse von cdbcommand Yii erhalten




2 Answers

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

Ihr getQuotes () gibt das Object of class CDbCommand :

+ You returned $data in the function instead of $data->queryRow(). 

Übrigens können Sie kein echo für array Daten verwenden. Das folgende Beispiel wird zum Abrufen von Daten aus der Datenbank verwendet, um mithilfe von DAO mit Yii anzuzeigen: Ich nehme an, dass Sie über das Personenmodell und den Personencontroller verfügen

In Ihrem Personenmodell:

function getData() {
    $sql = "SELECT * from Person";

    $data = Yii::app()->db
        ->createCommand($sql)
        ->queryAll();
    return $data;
}

In Ihrem Controller:

function index(){
    $data =  Person::model()->getData();

    $this->render('your_view',array(
    'data'=>$data,
    ));
}

Aus Ihrer Sicht: Sie können Ihre Daten dazu bringen, Elemente in den array Daten zu array :

<?php foreach($data as $row): ?>
     //show something you want 
     <?php echo $row->name; ?>
<?php endforeach; ?>
tutorial deutsch

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




unterhalb des Beispielcodes, um die von queryAll zurückgegebenen Zeilen zu durchlaufen

$connection = Yii::app()->db;
$command = $connection->createCommand("Select * from table");
$caterow = $command->queryAll(); //executes the SQL statement and returns the all rows

foreach($caterow as $retcat )
{
    echo  $retcat["ColumnName"]  ;
}

Gibt die Reihenfolge der Zeilen mit Feldern zurück




Related

php yii

Tags

php   yii