ThinkPHP3.2-CURD 작업

6820 단어

데이터 생성


create 방법으로 데이터 대상 만들기
create () 방법은 다른 방식으로 데이터 대상을 만들 수 있습니다. 예를 들어 다른 데이터 대상이나 그룹을 만들 수 있습니다.
  • User 객체에서 새 Member 데이터 객체를 작성합니다
  • $User = stdClass();
    $User->name = 'ThinkPHP';
    $User->email = '[email protected]';
    $Member = M("Member");
    $Member->create($User);    
    
  • 그룹에서 대상을 만듭니다
  • $data['name'] = 'thinkphp';
    $data['email'] = '[email protected]';
    $data['status'] = 1;
    $User = M('User');
    $data = $User->create($data);  
    

    생성 실패, 오류 메시지.
    $User = D('User'); //  User 
    if (!$User->create()) {
    //      
       $this->error($User->getError());
    } else {
       //    
    }
    

    create 방법의 두 번째 매개 변수는 데이터를 만드는 작업 상태를 지정할 수 있습니다. 기본적으로 쓰기 작업인지 업데이트 작업인지 자동으로 판단됩니다.시스템에 내장된 데이터 작업은 INSERT(1)와 UPDATE(2)를 포함하며, 지정되지 않았을 때 시스템은 데이터 원본에 키 데이터가 포함되어 있는지 여부에 따라 자동으로 판단하고, 키 데이터가 존재하면 UPDATE 작업으로 간주한다.
    $Member = M("User");
    $Member->create($_POST,Model::MODEL_UPDATE);
    

    create 방법으로 만든 데이터 대상은 메모리에 저장되어 있으며 데이터베이스에 실제로 기록되지 않았습니다.add나save 방법을 사용해야 데이터베이스에 기록됩니다.
    $User = M('User');
    $User->create(); // User 
    $User->status = 1; //  
    $User->create_time = time(); //  
    $User->add(); //  
    

    사용자 대상을 데이터베이스create 방법에 기록하는 작업은 매우 복잡하고 데이터 대상을 만드는 동시에 일련의 작업을 완성했다.우리가 익숙한 영패 검증, 자동 검증과 자동 완성 기능은 사실create 방법을 통해야만 효력이 발생한다.
    데이터 방법 간단한 데이터 대상 만들기
    데이터 대상을 간단하게 만들고 싶을 뿐 추가 기능을 완성할 필요가 없다면 데이터 방법으로 데이터 대상을 간단하게 만들 수 있습니다.데이터 방법도 수조와 대상을 전송할 수 있습니다. 데이터 방법으로 만든 데이터 대상은 자동 검증과 필터 작업을 하지 않습니다. 스스로 처리하십시오.
    $User = M('User');//   
    $data['name'] = 'ThinkPHP';
    $data['email'] = '[email protected]';
    $User->data($data)->add();
    

    데이터 쓰기


    add 방법으로 데이터 삽입
    $User = M("User"); //  User 
    $data['name'] = 'ThinkPHP';
    $data['email'] = '[email protected]';
    $User->add($data);
    

    데이터 테이블에 존재하지 않는 필드 데이터를 쓰면 직접 필터링됩니다.이 중test 필드는 존재하지 않기 때문에 데이터를 쓸 때 자동으로 필터됩니다.
    $data['name'] = 'thinkphp';
    $data['email'] = '[email protected]';
    $data['test'] = 'test';
    $User = M('User');
    $User->data($data)->add();
    

    쓰기 결과가 $result 데이터가 불법이면false를 되돌려주고, 키 $result가 증가하면 키 값을 되돌려줍니다. 그렇지 않으면 1을 되돌려줍니다.
    addAll 메소드 대량 데이터 삽입
    $User = M("User");
    $dataList[] = array('name'=>'thinkphp','email'=>'[email protected]');
    $dataList[] = array('name'=>'onethink','email'=>'[email protected]');
    $User->addAll($dataList);
    

    addAll이 되돌아오는 것은 줄의 수에 영향을 주는 것이 아니라, 되돌아오는 모든 기록된 키 id 집합이 아니라, 되돌아오는 첫 번째 데이터의 키 값입니다.
    이 기능은 3.2.3 이상의 버전이 필요하며, 3.2.3 이하 버전은 mysql 데이터베이스에만 지원됩니다.

    데이터 읽기


    검색 데이터 읽기
    검색 오류가 발생하면find 방법은false를 되돌려줍니다. 검색 결과가 비어 있으면 NULL을 되돌려줍니다. 검색 성공은 관련 그룹 (복합 조건의 첫 번째 기록) 을 되돌려줍니다.
    $User = M("User"); //  User     
    $data = $User->where('status=1 AND name="thinkphp"')->find();//  status 1name think  
    

    select 데이터 세트 읽기
    검색이 잘못되면 select의 반환값은false이고, 검색 결과가 비어 있으면 NULL을 반환하고, 그렇지 않으면 2차원 그룹을 반환합니다.
    $User = M("User"); //  User 
    $list = $User->where('status=1')->order('create_time')->limit(10)->select();//  status 1     10 
    

    getField 읽기 필드 값
    데이터 테이블의 한 열에 있는 여러 개 또는 한 개의 데이터를 가져옵니다. 기본적으로 한 필드만 있을 때 조건을 충족시키는 데이터 테이블의 이 필드의 첫 번째 줄의 값을 되돌려줍니다.
    $User = M("User"); //  User 
    $nickname = $User->where('id=3')->getField('nickname');//  ID 3  
    

    전체 열의 데이터를 되돌려주고 매개 변수true를 추가해야 합니다.
    $User->getField('id',true); //  id 
    // array(1,2,3,4,5) , value id 
    

    여러 필드가 전송되면 기본적으로 관련 그룹을 되돌려줍니다.true 매개 변수가 없어도 모든 줄의 데이터를 되돌려줍니다.
    $User = M("User"); //  User //  ID     
    $list = $User->getField('id,nickname');// array(`id`=>`nickname`) 。
    

    getField 메서드는 제한된 수량도 지원합니다.
    $this->getField('id,name',5); //  5 
    $this->getField('id',3); //  id   3 
    

    데이터 업데이트


    save 방법 데이터 업데이트
    $User = M("User"); //  User 
    $data['name'] = 'ThinkPHP';
    $data['email'] = '[email protected]';
    $User->where('id=5')->save($data); //  
    

    객체 작업
    $User = M("User"); //  User 
    $User->name = 'ThinkPHP';
    $User->email = '[email protected]';
    $User->where('id=5')->save(); //  
    

    주의:save 방법의 반환 값은 영향을 주는 기록수입니다. 만약false를 반환하면 업데이트 오류를 표시하기 때문에 반드시 항등으로 업데이트 실패 여부를 판단해야 합니다.
    만약 id가 데이터 테이블의 키라면 시스템은 자동으로 키의 값을 업데이트 조건으로 다른 필드의 값을 업데이트합니다.
    $User = M("User"); //  User 
    $data['id'] = 5;
    $data['name'] = 'ThinkPHP';
    $data['email'] = '[email protected]';
    $User->save($data); //  
    

    필드 업데이트
    개별 필드의 값을 업데이트하려면 setField 방법을 사용할 수 있습니다.
    $User = M("User"); //  User 
    $User-> where('id=5')->setField('name','ThinkPHP');//  name 
    

    setField 방법은 여러 필드를 동시에 업데이트할 수 있습니다. 그룹에 전송하기만 하면 됩니다.
    $User = M("User"); //  User 
    $data = array('name'=>'ThinkPHP','email'=>'[email protected]');
    $User-> where('id=5')->setField($data);//  name email 
    

    통계 필드(일반적으로 숫자 형식을 가리키는 것)의 업데이트는 setInc와 setDec 방법을 제공합니다.
    $User = M("User"); //  User 
    $User->where('id=5')->setInc('score',3); //  3
    $User->where('id=5')->setInc('score'); //  1
    $User->where('id=5')->setDec('score',5); //  5
    $User->where('id=5')->setDec('score'); //  1
    

    데이터 삭제


    데이터 삭제
    $User = M("User"); //  User 
    $User->delete(5); //  5 
    

    delete 방법은 하나의 데이터를 삭제할 수도 있고 여러 개의 데이터를 삭제할 수도 있습니다. 이것은 삭제 조건에 달려 있습니다.
    $User = M("User"); //  User 
    $User->where('id=5')->delete(); //  id 5 
    $User->delete('1,2,5'); //  1,2 5 
    $User->where('status=0')->delete(); //  0 
    

    데이터를 잘못 삭제하는 것을 피하기 위해서, 어떤 조건도 불러오지 않으면 삭제 작업을 실행하지 않습니다
    delete 방법의 반환값은 삭제된 기록수입니다. 반환값이false이면 SQL 오류를 표시하고, 반환값이 0이면 데이터를 삭제하지 않았습니다.

    본고는 기본적으로 공식 문서에서 나온 것을 소개하고 의문이 있으면 ThinkPHP 공식 문서인 CURD 조작을 참고한다

    좋은 웹페이지 즐겨찾기