ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP モデルの使用方法の詳細な紹介 - モデルの核心 (7)

ThinkPHP モデルの使用方法の詳細な紹介 - モデルの核心 (7)

WBOY
WBOYオリジナル
2016-06-13 12:11:18885ブラウズ

ThinkPHP モデルの使用方法の詳細 - モデルのコア (7)

注: このセクションは、データ操作のための ThinkPHP フレームワークのコア処理部分です

あなたはまだここにいます はっきりと確認したい場合は、それを切り取ってコードエディターに配置して表示できます


この章ではモデルの紹介に焦点を当てます:

1. 通常のクエリ方式 、 2. 式クエリ方式 、 3. インターバルクエリ 、 4. 統計クエリ 、 5. SQL 直接クエリ


暫定モデルの確認 - 「追加、削除、変更、確認」:

// に直接接続します。データベースを作成しますが、最初に構成ファイルで構成する必要があります

class IndexAction extends Action {
public function addDB(){
//データベースに対応するテーブルは次のとおりである必要があります。データベースに対応するテーブル名のサイズは関係ありません
$user =new Model('Leyangjun') ;
//$user = M('Leyangjun'); / /上記の new Model() と同等
$arr = $user ->select();
var_dump($arr);
}
}

//データベースに対する追加、削除、変更、クエリ操作 (略称: CURD)

1: Add -C Create $m->add()
$m =new モデル('ユーザー');
$m=M('ユーザー');
$m->フィールド名='値'; /$user->name='yangjun';
$m->add( ) //戻り値は新しく追加された ID 番号

2: 削除 -D 削除 $m->delete()
$m=M('ユーザー');
$m->delete(2);データ
$count = $m->where('id=2')->delete(); //上記と同じ効果、ID 2 のデータも削除します
//戻り値は影響を受ける行の数です
if($count >0){
$this->success(" データの削除に成功しました! ");
}else{
} $this->error("データの削除に失敗しました!");
3: 変更 -U Update $m->save()
$m=M('User');
$data['id']=1;
$data['name']='leyangjun' //id=1 の名前の値を leyangjun に変更します
$m->save($data); //戻り値は影響を受ける行の数です

4 :Check-R Read $m->select()
$m=new Model('User') == $m=M('User');
1: select
$m->select(); //すべてのデータを取得し、配列として返します
2: find
$m->find($id);//単一のデータを取得するためのデフォルトは、id=1 のデータです2 番目の検索結果を取得する場合 (2)
3: getField (フィールド名)//特定のフィールド値を取得します
$arr = $m-> getField('name'); // デフォルト値は名です

$arr =$m- >where('id=2')->getField('username'); //継続的な操作、id=2 に対応するフィールドの「username」の値を取得します。


以下はモデルの詳細な紹介です:

1. 通常のクエリ メソッド
a. 文字列値である限り、推奨されません。一重引用符を追加するとエラーが報告され、データが見つかりません)
$arr=$m->where("sex=0 and username='gege'")->find() ; //

b を取得し、配列 (推奨、標準)
$data['sex']=0;
$data['username']='gege';
$arr=$m->where($data)->find();
=> 注: このメソッドのデフォルトの条件は、or 関係を使用する場合、配列値
$ を追加する必要があります。 data['sex']=0;
$data['username']='gege';
$data['_logic']='or' ;// OR 条件をクエリする場合は、次の


$data['id']=array(2,3) を追加する必要があります,4,'or') / / id=2 または id=3 または id=4 を確認
$arr = $user->where($data)->select() ;

2. 式クエリメソッド
//デフォルトは and name='lekey' または name='viplekey' またはname='leyangjun'
//$data['name']=array('lekey','viplekey','leyangjun','or'); 🎜>
$data['id']=array('lt',6); //クエリ ID は 6 より大きい ==>大文字と小文字は区別されないことに注意してください
$arr=$m->where($data)->select();
EQ
NEQ と等しくない
GT は
EGT が
より大きい
ELT が小さい
LIKE ファジー クエリ
$data['username']=array('like' ,'%yang');
$arr=$m->where($data)->select();
NOTLIKE //like の否定
$data['username']=array('notlike','%ge%'); //notlike の途中にはスペースがありません
$arr=$m->gt;where($data)->select();


注: フィールドに複数のワイルドカードの一致が必要な場合
$data['username']=array ('like',array('%ge%','%2%','%五%'),'and');//3 番目の値がない場合、デフォルトの関係は or 関係です
$arr=$m->where($data )->select();
BETWEEN
$data['id']=array(' between',array(5,7));
$arr=$m->where($data)->select();
//SELECT * FROM `tp_user` WHERE ( (`id` BETWEEN) 5 AND 7 ) )
$data[' id']=array('not between',array(5,7));//次のものがある必要があることに注意してください。 not と between
$arr=$ m->>where($data)->select(); の間のスペース
IN
$data[ 'id']=array('in',array(4,6,7));
$arr=$m->where($data)- >select();
//SELECT * FROM `tp_user` WHERE ( `id` IN (4,6,7) )


$data['id']=array(' ',array(4,6,7));
$arr=$m->where($data)->select();
//SELECT * FROM `tp_user` WHERE ( ` id` NOT IN (4,6,7) )


3. 間隔クエリ
$data['id']=array(array('gt',4),array('lt ',10));//デフォルトの関係は と
//SELECT * FROM `tp_user` WHERE ( (`id` > 4) AND (`id`
$data['id']=array(array('gt',4),array('lt',10),'or') //関係は or の関係です


$data['name']=array(array('like','%2%'),array('like', '% Five%'),'leyangjun','or');
//SELECT * FROM 'TP_USER' WHERE (('ユーザー名' LIKE '%2% ') OR ('ユーザー名' LIKE '%五%') OR ('USERNAME' ='leyangjun'));

4. 統計クエリ
count //数値を取得
$user = new Model('Leyangjun');
$ total = $user->count();
/*条件付き統計
//$data['name'] = 'leyangjun';
//$total = $user->where($data)->count(); */
echo $total;exit;
max //最大数を取得します
min //最小数を取得します
avg //平均数を取得します
sum //合計を取得します

5. SQL 直接クエリ
1 つは、クエリメイン数値処理 (" read") Data
成功した場合はデータの結果セットを返します
失敗した場合はブール値 false を返します
$m=M(); / /M( )空のモード オブジェクトは次の処理を行います
$result=$m->query("select * from t_user where id >50");
var_dump($ result);
2 つのタイプ、execute は (「更新と書き込み」) 操作に使用されます
影響を受けた行の数を正常に返します
失敗するとブール値 false が返されます
$m=M();
$result=$m->execute("insert into t_user( `username`) value( 'leyangjun')");
var_dump($result);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。