>  기사  >  php教程  >  Yii2.0 시나리오 시나리오 적용에 대한 자세한 설명

Yii2.0 시나리오 시나리오 적용에 대한 자세한 설명

黄舟
黄舟원래의
2017-01-03 09:47:551548검색

Yii2.0 시나리오 사용법:

간단한 예로 게시물 테이블에 제목, 이미지, 내용의 세 가지 필드가 있습니다. 게시물을 작성할 때 세 가지 필드를 모두 원합니다. 필수 항목이지만, 수정 시 제목 내용 2개 항목은 필수 항목으로, iamge는 입력하지 않아도 됩니다. 일반적인 상황에서는 [['title', 'content', 'image'], 'required',]이지만 변경할 때는 [['title', 'content'], 'required']만 필요합니다. 그냥 괜찮습니다. 하지만 이미지 필드가 없으면 양식을 제출할 수 없습니다. 이 문제를 해결하려면 어떻게 해야 합니까? ?

시나리오는 이 문제를 해결하는 데 도움이 될 수 있습니다. 다음은 간단한 시나리오 예입니다.

1. 먼저 Scene 클래스 이름이 시나리오()여야 한다고 모델에 정의합니다.

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 指定的就是场景,一个场景用字符串,多个场景用数组

를 사용합니다. 자, 이제 모델에서 설정을 완료했습니다. in the Controller

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

위는 업데이트 씬을 호출한다는 의미입니다. 모든 것이 이렇게 간단합니다

위는 Yii2.0 시나리오 적용에 대한 자세한 설명입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.