ThinkPHP は、柔軟で便利なデータ操作メソッドを提供します。作成、読み取り、更新、削除というデータベース操作の 4 つの基本操作 (CURD) を実装するだけでなく、多くの実用的なデータ操作メソッドも組み込まれており、最高のエクスペリエンスを提供します。アクティブレコードモード。
新しいレコードを作成します
PHPコード
1. $ユーザー->検索(2);
2. $User->delete() // 見つかったレコードを削除します
3. $User->delete('5,6') // 主キー 5 と 6 のデータを削除します
4. $User->deleteAll() // クエリされたデータをすべて削除します
PHPコード
1. // User モデル オブジェクトをインスタンス化します
2.
3. $User = 新しい UserModel();
6. $User->email = 'ThinkPHP@gmail.com';
7. // その後、新しい User オブジェクトを保存できます
8. $User->add();
を使用できます。
11. $data['email'] = 'ThinkPHP@gmail.com';
12. $ ユーザー = 新しいユーザーモデル ($ データ);
14. // または、add メソッドで作成する新しいデータを直接渡します
15. $data['name'] = 'ThinkPHP';
16. $data['email'] = 'ThinkPHP@gmail.com';
18. $User->add($data);
19.
20.
通常の状況では、アプリケーション内のデータ オブジェクトが手動割り当てによって書き込まれることはほとんどありませんが、データ オブジェクトの作成プロセスは存在します。 ThinkPHP には、データ オブジェクトを作成し、その他の追加または編集操作を実行するための create メソッドが用意されています。
PHPコード
1. $ユーザー = D("ユーザー");
;
2. $data['email'] = 'ThinkPHP@gmail.com';
3. $User->create($data);
2. $data[0]['name'] = 'ThinkPHP';
3. $data[0]['email'] = 'ThinkPHP@gmail.com';
6. $User->addAll($data);
MySql データベースでは、1 つの SQL ステートメントを使用して複数のデータが自動的に挿入されます。
レコードのクエリ
データベース操作で最も興味深いのはデータベース レコードの読み取りだと思います。テキスト データベースを作成したことがある人なら誰でも、データの保存と削除が難しいことではないことを知っています (それは標準化と効率の問題にすぎません)。さまざまな方法で必要なデータを見つけることができます。さまざまな取り組みを通じて、ThinkPHP はデータベースのクエリ操作を容易にし、ThinkPHP のコンテンツを豊富にしています。
ThinkPHP には非常に明確な規則があります。つまり、単一データ クエリのメソッドと複数データ クエリのメソッドが分離されているか、クエリしたいデータが単一なのか複数なのかわからない場合があると思われるかもしれませんが、1 つあります。クリア。データの一部を返す必要がありますか、それともデータセットを返してほしいですか?返される2種類のデータは操作方法が全く異なるため、どちらのメソッドが返されてもモデルオブジェクト内で直接操作できますし、もちろん必要な変数にデータとして渡すことも可能です。
まず最も単純な例を見てみましょう。主キーが 8 であるユーザー レコードをクエリしたい場合は、次のメソッドを使用できます。
PHPコード
1. $ユーザー->検索(8);
PHPコード
1. $name = $ユーザー->名前
2. $email = $User->email;
クエリされたデータオブジェクトのプロパティを走査します
PHPコード
1. foreach ($User as $key=>$val){
2. echo($key.':'.$val);
上記のクエリ条件では、getById を使用して同じクエリを完了することもできます
PHPコード
1. $User->getById(8);
なお、find メソッドでは、クエリ結果に複数のレコードが存在する場合でも、条件を満たす最初のレコードのみが返されます。条件を満たすすべてのレコードを返したい場合は、findAll メソッドを使用してください。
PHPコード
1. // 主キーが 1、3、8 であるレコードセットをクエリします
2. $User->findAll('1,3,8');
6. }
クエリ操作の詳細については、次の章を参照してください。
記録を更新
クエリ レコードを理解した後、更新操作は非常に簡単です。
// 次の方法でも更新できます
PHPコード
1. $User->find(1) // 主キー 1 のデータを検索します
2. $User->name = 'TOPThink' // データオブジェクトを変更します
3. $User->save() // 現在のデータ オブジェクトを保存します
4. $User->score = '(score+1)' // ユーザーのポイントに 1 を追加します
5. $User->save();
保存にデータ オブジェクトを使用しない場合は、保存するデータと条件を渡すことができます
PHPコード
1. $data['id'] = 1;
3. $User->save($data);
save メソッドに加えて、setField メソッドを使用して特定のフィールドの値を更新することもできます。例:
PHPコード
1. $User->setField('name','TopThink','id=1');
2. // または次のように変更します
3. $User->setInc('score','id=1');
記録を削除
主キーが自動拡張タイプの場合、主キーの値を渡さずに新しいデータを作成できます。また、データが正常に挿入された場合、Add メソッドの戻り値は最後に挿入された主キーの値になります。直接入手できます。