私の質問でもっと明確にするために、yii\db\CommandとbindValue()とbindParam()メソッドがあることを知っていますが、ActiveRecord自体で行う可能性があります。私はすべてのクエリを手作業で書くのではなく、組み込み関数を使うことを望んでいます。Yii 2にActiveRecordモデルの保存文を強制的に使用する
class User extends \yii\db\ActiveRecord{
public static function tableName(){
return 'user';
}
public function rules(){ ... }
}
...
$user= new User();
$user->firstName='John';
$user->lastName='Doe';
$user->save();
私は>(セーブ$モデル - を呼び出した後に実行されているSQLを見て)私はuser
(firstName
、lastName
、...)VALUES( 'ジョンINTO [yii\db\Command::execute]
INSERTのようなプレーンなSQL文を参照してください、 'ドウ'、...)
同じ文を選択するために適用されます。 [Yiiの\ DB \コマンド::クエリ] SELECT * FROM
ユーザーWHERE
ID =23
私はそのフレームワークが準備された文とバインドを作成する必要があります期待parameters.T帽子は速く砕けるでしょう。
プレーンなSQLの代わりにprepared statementを作成する方法はありますか?
あなたのアプローチに感謝しますが、github.com/yiisoft/yii2/ですべてのコアYiiデベロッパーと話し合う必要があります。 github.comで議論すると、より多くの人があなたの提案を聞く機会が増えます – SohelAhmedM