데이터베이스에 대한 TP 프레임워크 작업

10440 단어
1. 데이터 추가
1.1 데이터 추가
$user           = new User;
$user->name     = 'thinkphp';
$user->email    = '[email protected]';
$user->save();
$user = new User;
$user->save([
    'name'  =>  'thinkphp',
    'email' =>  '[email protected]'
]);

 
1.2 비데이터 테이블 필드의 데이터 필터링
$user = new User;
//  post 
$user->allowField(true)->save($_POST);

1.3 특정 필드 데이터 지정
$user = new User;
// post name email 
$user->allowField(['name','email'])->save($_POST);

1.4 여러 데이터 추가
$user = new User;
$list = [
    ['name'=>'thinkphp','email'=>'[email protected]'],
    ['name'=>'onethink','email'=>'[email protected]']
];
$user->saveAll($list);

 
1.5 정적 방법
$user = User::create([
    'name'  =>  'thinkphp',
    'email' =>  '[email protected]'
]);
echo $user->name;
echo $user->email;
echo $user->id; //  ID

 
2. 데이터 업데이트
2.1 검색 및 업데이트
$user = User::get(1);
$user->name     = 'thinkphp';
$user->email    = '[email protected]';
$user->save();

2.2 직접 데이터 업데이트
$user = new User;
// save 
$user->save([
    'name'  => 'thinkphp',
    'email' => '[email protected]'
],['id' => 1]);

2.3 비데이터 테이블 필드 필터링
$user = new User;
//  post 
$user->allowField(true)->save($_POST,['id' => 1]);

2.4 특정 필드 지정
$user = new User();
// post name email 
$user->allowField(['name','email'])->save($_POST, ['id' => 1]);

2.5 대량 업데이트 데이터
$user = new User;
$list = [
    ['id'=>1, 'name'=>'thinkphp', 'email'=>'[email protected]'],
    ['id'=>2, 'name'=>'onethink', 'email'=>'[email protected]']
];
$user->saveAll($list);

2.6 정적 방법
User::where('id', 1)
    ->update(['name' => 'thinkphp']);

 
2.7 자동 인식
2.7.1 업데이트 데이터 표시
//  
$user = new User;
//  
$user->isUpdate(true)
    ->save(['id' => 1, 'name' => 'thinkphp']);

2.7.2 새로운 데이터 표시
$user = User::get(1);
$user->name = 'thinkphp';
//  
$user->isUpdate(false)->save();

3. 데이터 삭제
3.1 현재 모델 삭제
 
$user = User::get(1);
$user->delete();

 
3.2 키에 따라 삭제
User::destroy(1);
//  
User::destroy('1,2,3');
//  
User::destroy([1,2,3]);

3.3 기준 삭제
User::destroy(function($query){
    $query->where('id','>',10);
});

 
4. 데이터 조회
4.1 단일 데이터 가져오기
 
//  1 
$user = User::get(1);
echo $user->name;

//  
$user = User::where('name', 'thinkphp')->find();
echo $user->name;

 
4.2 여러 데이터 가져오기
//  
$list = User::all('1,2,3');
//  
$list = User::all([1,2,3]);
//  
foreach($list as $key=>$user){
    echo $user->name;
}
//  
$list = User::where('status', 1)->limit(3)->order('id', 'asc')->select();
foreach($list as $key=>$user){
    echo $user->name;
}

4.3 필드나 열의 값을 가져옵니다.
//  
User::where('id',10)->value('score');
//  
User::where('status',1)->column('name');
//  id 
User::where('status',1)->column('name','id');

좋은 웹페이지 즐겨찾기