Heim > php教程 > PHP开发 > Hauptteil

Ausführliche Erläuterung der Szenarioanwendung von Yii2.0

黄舟
Freigeben: 2017-01-03 09:47:55
Original
1569 Leute haben es durchsucht

Verwendung des Yii2.0-Szenarios:

Für ein einfaches Beispiel gibt es drei Felder: Titel, Bild, Inhalt in der Beitragstabelle. Wenn ich einen Beitrag erstelle, möchte ich, dass alle drei Felder vorhanden sind Erforderliches Feld, aber wenn Sie es ändern, sind die beiden Felder des Titelinhalts erforderlich und iamge muss nicht ausgefüllt werden. Unter normalen Umständen [['title', 'content', 'image'], 'required',], aber wenn wir es ändern, brauchen wir nur [['title', 'content'], 'required'], Es ist einfach in Ordnung, aber ohne das Bildfeld kann unser Formular nicht gesendet werden. Was sollen wir gegen dieses Problem tun? ?

Szenarien können Ihnen bei der Lösung dieses Problems helfen. Nachfolgend finden Sie ein einfaches Szenariobeispiel.

1. Zuerst definieren wir im Modell, dass der Name der Szenenklasse sein muss.

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

2 Okay, wie oben gezeigt, haben wir einen Teil der Grundeinstellung abgeschlossen der Szene. Nun legen wir die Regeln fest () und verwenden beim Aufrufen der Szene das Schlüsselwort

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

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

3. Nun haben wir die Einstellungen im Modell abgeschlossen im Controller

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

Das Obige bedeutet, die Update-Szene aufzurufen. So einfach ist alles

Das Obige ist die detaillierte Erklärung der Szenarioanwendung von Yii2.0. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (m.sbmmt.com)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!