2016-12-06 15 views
2

Ich habe folgenden Code in meinem Controller:Wie Informationen aus der Datenbank ohne createCommand abrufen?

$listproduct=Yii::app()->db->createCommand() 
    ->select('product') 
    ->from('product_form') 
    ->where('product_name=:product_name and type=:type', array(':product_name'=>'HP', ':type'=>$gettype)) 
    ->queryRow(); 

$gettype für das Abrufen von Typen des Produkts verantwortlich ist. (Wenn beispielsweise der Name des Produkts HP ist und type($gettype) PC ist, wird das HP Produkt angezeigt, bei dem der Typ PC ist). Ich konnte diese Funktion nicht ohne createCommand realisieren. Wie kann ich es tun?

Antwort

1

Sie CActiveRecord

verfügt

vorausgesetzt verwenden könnten Sie eine CActiveRecode Modellklasse

class ProductForm extends CActiveRecord 
{ 
    /** 
    * @return string the associated database table name 
    */ 
    public function tableName() 
    { 
    ....... 

Sie

Für erhalten alle Modelle nutzen könnten

genannt haben Sie findAllByAttributes()

$listProduct= ProductForm::model()-> 
     findAllByAttributes(array('product_name'=>'HP', 'type' =>$gettype)); 
verwenden können

Für ein einzelnes Modell können Sie findByAttributes() verwenden

können Sie http://www.yiiframework.com/doc/guide/1.1/en/database.ar

betrachten
Verwandte Themen