thinkphp에서 create 메소드는 POST로 제출된 데이터를 처리하는 데 사용됩니다. 테이블의 필드 이름과 양식에서 제출된 이름 사이의 해당 관계를 사용하여 데이터 인스턴스를 자동으로 캡슐화할 수 있습니다. 양식에 추가하여 반복 제출을 위한 양식을 배치합니다.
이 문서의 운영 환경: Windows 10 시스템, ThinkPHP 버전 5, Dell G3 컴퓨터.
1. create 메소드는 POST로 제출된 데이터를 처리할 수 있습니다(테이블의 필드 이름과 양식에서 제출한 이름 간의 대응 관계를 통해 데이터 인스턴스를 자동으로 캡슐화합니다).
예를 들어, 사용자 테이블에 필드 이름은 "username"입니다. 양식에 이 있으면
$User = M('User'); $data = $User->create(); echo $data['username'];
이 출력됩니다. $_POST['username']을 사용하지 않고도 "Xiao Ming"이 인계됩니다.
2. 양식의 반복 제출을 방지하기 위해 create 메소드를 사용하여 양식에 대한 토큰 확인을 수행합니다.
3. 데이터는 자동으로 검증할 수 있지만, Model 폴더에 UserModel.class.php 파일을 수동으로 생성하고 그 안에 검증 책임을 추가해야 한다는 것이 전제입니다.
protected $_validate = array( array('username','require','用户名必须', 1), );
4 필드에는 자동으로 값이 할당될 수 있습니다. 전제는 여전히 수동이어야 합니다. Model 폴더에 UserModel.class.php 파일을 생성하고 여기에
protected $_auto = array( array('create_time','time',self::MODEL_INSERT,'function'), );
를 추가하면 사용자의 등록 시간이 현재 시간에 자동으로 할당됩니다
일반적으로 이제 막 시작하는 초보자를 위한 것입니다. 학습, 데이터베이스에 추가 데이터에 대한 표준 방법을 사용합니다.
은 $_POST를 통해 각 양식 값을 얻는 것입니다. 이 방법은 별로 효율적이지 않습니다.
하지만 thinkPHP는 create라는 매우 편리한 방법을 제공합니다. 이 방법을 사용하기 전에 먼저 양식의 이름 값을 데이터 필드의 값과 일치하도록 설정해야 합니다.
설정이 완료되면 컨트롤러에서 해당 메소드에 코드를 작성하시면 됩니다. 이 문장을 실행하면 $data = $goods->create()가 자동으로 양식의 각 값을 가져옵니다. 나중에 데이터 테이블에 필드를 추가하려는 경우에도 해당 필드 이름을 양식에 추가하기만 하면 매우 편리하다고 할 수 있습니다.
if(IS_POST){ $goods = M('goods'); if($data = $goods->create()){ if($goods->add($data)){ $this->success('添加成功','show_list','2'); }else{ $this->error('添加失败'); }}}
create 메소드도 특별합니다. 데이터베이스에 없는 필드를 배열에서 제거할 수 있습니다.
예를 들어 데이터베이스에는 aa 필드가 없지만 양식에는 있는 경우 추가된 데이터를 제출할 때 create 메소드가 해당 필드를 필터링합니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 thinkphp에서 create 메소드를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!