ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP モデルの使用方法の詳細な紹介 - モデルの核心 (7)
ThinkPHP モデルの使用方法の詳細 - モデルのコア (7)
注: このセクションは、データ操作のための ThinkPHP フレームワークのコア処理部分です
あなたはまだここにいます はっきりと確認したい場合は、それを切り取ってコードエディターに配置して表示できます
この章ではモデルの紹介に焦点を当てます:
1. 通常のクエリ方式 、 2. 式クエリ方式 、 3. インターバルクエリ 、 4. 統計クエリ 、 5. SQL 直接クエリ
暫定モデルの確認 - 「追加、削除、変更、確認」:
// に直接接続します。データベースを作成しますが、最初に構成ファイルで構成する必要があります
class IndexAction extends Action {
//データベースに対する追加、削除、変更、クエリ操作 (略称: CURD)
1: Add -C Create $m->add()$arr =$m- >where('id=2')->getField('username'); //継続的な操作、id=2 に対応するフィールドの「username」の値を取得します。
1. 通常のクエリ メソッド 2. 式クエリメソッド 4. 統計クエリ
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() ;
//デフォルトは 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'));
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);