ホームページ  >  記事  >  php教程  >  Yii2.0シナリオシナリオアプリケーションの詳細説明

Yii2.0シナリオシナリオアプリケーションの詳細説明

黄舟
黄舟オリジナル
2017-01-03 09:47:551548ブラウズ

Yii2.0 シナリオの使用法:

簡単な例を挙げると、投稿テーブルにタイトル画像コンテンツの 3 つのフィールドがあります。投稿を作成するときは 3 つのフィールドすべてが必須だと思いますが、それを変更すると、タイトル内容の 2 つのフィールドは必須ですが、画像は入力する必要はありません。通常の状況では [['title', 'content', 'image'], 'required',] ですが、変更する場合は [['title', 'content'], 'required'], だけが必要になります。問題ありませんが、画像フィールドがないとフォームを送信できません。この問題についてはどうすればよいでしょうか。 ?

シナリオはこの問題の解決に役立ちます。以下は簡単なシナリオの例です。

1. まず、モデル内でシーンのクラス名を定義します。これは、scenarios() である必要があります

public function scenarios()
{
return [
'create' => ['title', 'image', 'content'],
'update' => ['title', 'content'],
];
}

2. さて、上に示したように、シーンの基本的な設定の一部が完了しました。 ) を呼び出して、シーン

[['title', 'content'], 'required', 'on' => ['create', 'update']],
[['image'], 'required', 'on' => 'create'],
[['image'], 'image', 'enableClientValidation' => true, 'maxSize' => 1024, 'message' => '您上传的文件过大', 'on' => ['create', 'update']],

on 指定的就是场景,一个场景用字符串,多个场景用数组

に on キーワードを使用します。 さて、モデルを設定しました。次に、コントローラーで呼び出してみましょう

$model = $this->findModel($id);
$model->setScenario('update'); 
//或者 $model->scenario = 'update'; 都可以

上記は、更新シーンを呼び出すことを意味します。すべてはとても簡単です

上記は Yii2.0 シナリオ シナリオ アプリケーションの詳細な説明です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。