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
truehttp://www.bkjia.com/PHPjc/740218.html技術記事 1. ネイティブ SQL を実行する PDO メソッド。 コードをコピーします。コードは次のとおりです。 $sql = "";//元の SQL ステートメント xx::model()-dbConnection-createCommand($sql)-execute(); 2. Active Record メソッド (...)