ホームページ > PHPフレームワーク > YII > yii でデータベースを操作する 3 つの方法

yii でデータベースを操作する 3 つの方法

王林
リリース: 2020-02-17 16:36:15
オリジナル
2424 人が閲覧しました

yii でデータベースを操作する 3 つの方法

1. ネイティブ SQL を実行する PDO メソッド

コードは次のとおりです:

$sql = "";//原生态sql语句 
xx::model()->dbConnection->createCommand($sql)->execute();
ログイン後にコピー

2。 Active Record メソッド

(1) 新しいメソッド

コードは次のとおりです:

$post=new Post; 
$post->title='sample post'; 
$post->content='post body content'; 
$post->save();
ログイン後にコピー

(関連チュートリアルを推奨: yii Framework)

(2) 条件メソッド

$condition を使用して、より複雑なクエリ条件を指定することもできます。文字列を使用する代わりに、$condition を CDbCriteria のインスタンスにすることができます。これにより、WHERE に限定されない条件を指定できます。

コードは次のとおりです:

$criteria=new CDbCriteria; 
$criteria->select='title';  // 只选择 'title' 列 
$criteria->condition='postID=:postID'; 
$criteria->params=array(':postID'=>10); 
$post=Post::model()->find($criteria);
ログイン後にコピー

CDbCriteria の代わりに、配列を find メソッドに渡すこともできます。配列のキーと値は、それぞれ条件の属性名と値に対応します。上記の例は次のように書き換えることができます:

$post=Post::model()->find(array( 
    'select'=>'title', 
    'condition'=>'postID=:postID', 
    'params'=>array(':postID'=>10), 
));
ログイン後にコピー

クエリ条件が複数の列を一致させることに関するものである場合指定された値には、findByAttributes() を使用できます。 $attributes パラメータを列名でインデックス付けされた値の配列にします。

一部のフレームワークでは、このタスクは findByNameAndTitle などのメソッドを呼び出すことで実現できます。このアプローチは魅力的に思えますが、多くの場合、混乱、競合、および列名の大文字と小文字の区別などの問題が発生します。

3. クエリ ビルダー メソッド

コードは次のとおりです:

$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();
ログイン後にコピー

プログラミング関連のコンテンツをさらに学習したい場合は、次の点に注意してください。 php 中国語 Web サイト プログラミング チュートリアル コラム!

以上がyii でデータベースを操作する 3 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート