create()는 프로젝트에서 여러 번 사용되었지만 양식 확인에만 사용할 수 있지만, 그 내용과 사용법을 이해하는 것이 종종 고통스럽습니다.
1: create() 메소드나 할당 메소드를 통해 데이터 객체를 생성한 후 데이터베이스에 씁니다
<span>1</span> <span>$model</span> = D('User'<span>); </span><span>2</span> <span>$model</span>->create(); <span>//</span><span>略过具体的自动生成和验证判断</span> <span>3</span> <span>$model</span>->add()
1: create() 메서드는 다른 데이터 객체 또는 배열과 같은 데이터 객체를 생성하는 다른 방법도 지원합니다.
1 $data['name'] = '마이크' 2 $data['sex'] = '남성'; 3 $user->create($data);
2: 생성된 데이터를 직접 읽어서 수정 가능
3: create의 두 번째 작업 방법은 데이터 생성 작업 상태를 지정할 수 있습니다. 기본값은 쓰기 작업인지 업데이트 작업인지 자동으로 결정하는 것입니다.
4: 자동 검증이 정의되지 않은 경우 create 메소드의 반환 값은 생성된 데이터 객체의 배열입니다
5: create 메소드로 생성된 데이터 객체는 메모리에 저장되며 실제로 데이터베이스에 기록되지 않습니다. add 또는 save 메소드를 사용할 때까지 실제로 데이터베이스에 기록되지 않습니다.
두 번째: 쓰기의 경우: field() 및 create()를 함께 사용하여 필드(양식 제출)의 합법성을 감지합니다.
1 $model->field('title,email,content')->create();
유일한 법적 필드는 제목, 이메일, 내용입니다. 사용자가 어떤 방법을 사용하여 다른 필드를 추가하더라도 해당 필드는 차단됩니다.
셋: 자동 검증은 모델 계층에서 제공하는 데이터 검증 방법입니다. Create는 데이터 개체 생성 시 자동으로 데이터 검증을 수행합니다. 구체적으로 정적 메서드와 동적 메서드로 구분됩니다.
4: create()는 데이터 객체, 워크플로를 생성하는 동안 일련의 작업을 완료합니다
步骤 | 说明 | 返回 |
1 | 获取数据源(默认是POST数组) | |
2 | 验证数据源合法性(非数组或者对象会过滤) | 失败返回false |
3 | 检查字段映射 | |
4 | 判断数据状态(新增或者编辑,指定或者自动判断) | |
5 | 数据自动验证 | 失败返回false |
6 | 表单令牌验证 | 失败返回false |
7 | 表单数据赋值(过滤非法字段和字符串处理) | |
8 | 数据自动完成 | |
9 | 生成数据对象(保存在内存) |
반품