ホームページ > バックエンド開発 > PHPチュートリアル > Yii_PHP チュートリアルでデータベースを操作する 3 つの方法

Yii_PHP チュートリアルでデータベースを操作する 3 つの方法

WBOY
リリース: 2016-07-13 10:36:18
オリジナル
846 人が閲覧しました

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

コードをコピーします コードは次のとおりです:
$sql = "";//元のSQL文
xx::model()->dbConnection->createCommand($sql)->gt; execute() ;

2. アクティブレコードメソッド
(1)新しいメソッド
コードをコピーします:$post=new Post->title='sample; post'; $post->content='post body content';
(2)Criteriaメソッド
より複雑なクエリ条件を指定することもできます。 文字列を使用する代わりに、$condition を CDbCriteria のインスタンスにすることができます。これにより、WHERE に限定されない条件を指定できます。


コードをコピーします

コードは次のとおりです:
$criteria=new CDbCriteria; $criteria->select='title'; // 'title' 列のみを選択します$criteria->条件='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 、ユーザー名、プロフィール ') ->from('tbl_user u') ->join('tbl_profile p', 'u.id=p.user_id')
->where('id=:id' 、array(' :id'=>$id))
->queryRow();




http://www.bkjia.com/PHPjc/740218.html
www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/740218.html技術記事 1. ネイティブ SQL を実行する PDO メソッド。 コードをコピーします。コードは次のとおりです。 $sql = "";//元の SQL ステートメント xx::model()-dbConnection-createCommand($sql)-execute(); 2. Active Record メソッド (...)
関連ラベル:
yii
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート