私は最初のYIIWebサイトを開発しています。YIIデータベースについていくつか疑問があります。
yiiでデータベースをクエリする方法は3つあります。
- データベースアクセスオブジェクト
- クエリビルダー
- アクティブレコード
- これらの3つの方法のうち、安全で最も好ましい方法はどれですか。
- 実行するカスタムクエリがある場合、どのメソッドを選択する必要がありますか?
クエリビルダークエリの場合、次のようなテーブルを明示的に選択します
$user = Yii::app()->db->createCommand() ->select('id, username, profile') ->from('tbl_user') // explicitly choosing the table ->join('tbl_profile p', 'u.id=p.user_id') ->where('id=:id', array(':id'=>$id)) ->queryRow();
では、クエリビルダークエリはどこに書くべきですか?対応するテーブルモデルで記述した場合、何か利点はありますか?
DAOまたはクエリビルダーを使用する場合、どのクラスでモデルを拡張する必要がありますか?
DAOメソッドまたはクエリビルダーメソッドに従う場合、ユーザー入力を検証するにはどうすればよいですか?