Heim  >  Artikel  >  PHP-Framework  >  Drei Möglichkeiten, die Datenbank in yii zu betreiben

Drei Möglichkeiten, die Datenbank in yii zu betreiben

王林
王林Original
2020-02-17 16:36:152381Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn