Heim > Artikel > PHP-Framework > Drei Möglichkeiten, die Datenbank in yii zu betreiben
1. PDO-Methode zum Ausführen von nativem SQL
Der Code lautet wie folgt:
$sql = "";//原生态sql语句 xx::model()->dbConnection->createCommand($sql)->execute();
2. Active Record-Methode
(1) Der Code der neuen Methode
lautet wie folgt:
$post=new Post; $post->title='sample post'; $post->content='post body content'; $post->save();
(Verwandte Tutorials empfohlen: yii-Framework )
(2) Kriterienmethode
Sie können $condition auch verwenden, um komplexere Abfragebedingungen anzugeben. Anstatt eine Zeichenfolge zu verwenden, können wir $condition zu einer Instanz von CDbCriteria machen, wodurch wir Bedingungen angeben können, die nicht auf WHERE beschränkt sind.
Der Code lautet wie folgt:
$criteria=new CDbCriteria; $criteria->select='title'; // 只选择 'title' 列 $criteria->condition='postID=:postID'; $criteria->params=array(':postID'=>10); $post=Post::model()->find($criteria);
Eine Alternative zu CDbCriteria besteht darin, ein Array an die Find-Methode zu übergeben. Die Schlüssel und Werte des Arrays entsprechen jeweils den Attributnamen und Werten der Kriterien. Das obige Beispiel kann wie folgt umgeschrieben werden:
$post=Post::model()->find(array( 'select'=>'title', 'condition'=>'postID=:postID', 'params'=>array(':postID'=>10), ));
Wenn es bei einer Abfragebedingung darum geht, mehrere Spalten mit a abzugleichen Geben Sie den angegebenen Wert an, wir können findByAttributes() verwenden. Wir machen den Parameter $attributes zu einem Array von Werten, die durch Spaltennamen indiziert sind.
In einigen Frameworks kann diese Aufgabe durch den Aufruf einer Methode wie findByNameAndTitle erreicht werden. Obwohl dieser Ansatz verlockend erscheint, führt er häufig zu Verwirrung, Konflikten und Problemen wie der Berücksichtigung der Groß-/Kleinschreibung bei Spaltennamen.
3. Query Builder-Methode
Der Code lautet wie folgt:
$user = Yii::app()->db->createCommand() ->select('id, username, profile') ->from('tbl_user u') ->join('tbl_profile p', 'u.id=p.user_id') ->where('id=:id', array(':id'=>$id)) ->queryRow();
Wenn Sie mehr programmbezogene Inhalte erfahren möchten, achten Sie bitte darauf php Chinesische WebsiteProgrammier-Tutorial Spalte!
Das obige ist der detaillierte Inhalt vonDrei Möglichkeiten, die Datenbank in yii zu betreiben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!