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 중국어 홈페이지(m.sbmmt.com)를 참고해주세요!