私のMySQLにはbirthdate DATE
ユーザー用のフィールドがあります。しかし、FORM では、1 つの単純なテキスト フィールドとして表示されます。
<?=echo $form->textField($model,'birthday')?>
Yii が DATE を認識し、3 つの選択フィールドの日/月/はいをフォーマットする方法はありますか? 私は Cakephp を使用しましたが、自動的に実行され、開発に大いに役立ちました。
いいえ、Yiiがこれを自動的に行う方法はありません。これを行う最も簡単な方法は、フォームを制御するモデルにさらに3つのフィールドを追加することです。たとえば、次のようになります。
date_year
date_month
date_day
モデル内の範囲/制限/タイプを処理するためのルールを設定できます。フォームでは、これら3つのモデルをテスト入力として使用できます。フォームが送信されると(ほとんどの場合、コントローラー/アクションに)、3つの新しいモデル属性を連結して、元のモデル属性の文字列/タイムスタンプを形成できます。
$model->birthdate = $model->date_year."/".$model->date_month."/".$model->date_day
もう1つの方法は、jQuery UI datepicker(デフォルトでYiiに組み込まれている)を使用することです。