ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP の追加、削除、変更、チェックイン

ThinkPHP の追加、削除、変更、チェックイン

韦小宝
韦小宝オリジナル
2017-11-29 10:32:591739ブラウズ

thinkphpはtpと略されるPHPフレームワークです。今日はtpの追加、削除、変更について説明します。以前使用していたネイティブのものは本当にすぎると思います。申し訳ありませんが、私が書くものすべてにそれを使用するのが待ちきれません tp、見てみましょう!

1. オペレーションの作成 ThinkPHP の add メソッドを使用して、データベースにデータを追加します。

使用方法は次のとおりです:

$User = M("User"); // 实例化User对象
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->add($data);

またはdataメソッドを使用します

継続操作

$User->data($data)->add();
データオブジェクトが追加前に作成されている場合(たとえば、createメソッドまたはdataメソッドを使用)、addメソッドは追加しません。データを渡す必要があります。

create メソッドの使用例:

$User = M("User"); // 实例化User对象

//フォームによって送信された POST データに基づいてデータ オブジェクトを作成します

$User->create();
$User->add(); // 根据条件保存修改的数据

主キーが自動拡張タイプの場合、および

データの挿入

が成功すると、 Addメソッドの戻り値は最新です。 挿入された主キーの値を直接取得できます。

2. データの読み取り ThinkPHP でデータを読み取る方法は多数あり、通常はデータの読み取りとデータセットの読み取りに分けられます。

findall または select メソッドを使用してデータセットを読み取ります (findall メソッドと select メソッドは同等です):

$User = M("User"); // 实例化User对象

// ステータス値 1 のユーザー データを検索し、作成時間順に並べ替えられた 10 個のデータを返します

$list = $User->where('status=1')->order('create_time')->limit(10)->select();

The return select メソッドの値は

二次元配列

で、結果が見つからない場合は空の配列が返されます。複雑なデータ クエリは、上記の一貫した操作方法を使用して完了できます。最も複雑な一貫した方法は、where メソッドの使用です。この部分には多くのコンテンツが含まれるため、クエリ言語部分でクエリ条件を組み立てる方法について詳しく説明します。基本的なクエリには、当面は関連クエリ部分は含まれませんが、関連付けモデルを使用してデータ操作を実行します。この部分については、関連付けモデル部分を参照してください。 データを読み取るには find メソッドを使用します。

データを読み取る操作は、実際にはデータセットの操作と似ています。select で使用できるすべてのコヒーレント操作メソッドが find メソッドにも使用できる点が異なります。メソッドは最大でも 1 つのレコードしか返さないため、limit メソッドは検索クエリ操作には無効です。

$User = M("User"); // 实例化User对象

// status 値 1 と name 値を持つユーザー データを検索 think

$User->where('status=1 AND name="think" ')->find();

条件を満たすデータが複数ある場合でも、find メソッドは最初のレコードのみを返します。

特定のフィールドの値を読み取りたい場合は、getField メソッドを使用できます。例:

$User = M("User"); // 实例化User对象

//ID 3 のユーザーのニックネームを取得します

$nickname = $User->where('id=3')->getField('nickname');

フィールドが 1 つしかない場合、値常に返されます。

複数のフィールドが渡された場合、連想配列を返すことができます:

$User = M("User"); // 实例化User对象

// すべてのユーザーの ID とニックネームのリストを取得します

$list = $User->getField('id,nickname');

返されるリストは配列であり、キー名はユーザーの ID であり、キー値はユーザーのニックネームです。

3. データを更新する ThinkPHP の save メソッドを使用してデータベースを更新し、コヒーレントな操作の使用もサポートします。

$User = M("User"); // 实例化User对象

//変更するデータオブジェクト属性の割り当て

$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->where('id=5')->save($data); // 根据条件保存修改的数据

データベースのセキュリティを確保し、エラーを回避するために、更新条件がなく、データオブジェクト自体に含まれていない場合は、データテーブル全体を更新します。主キー フィールドの場合、save メソッドはデータベース内のレコードを更新しません。

したがって、次のメソッドが使用されない限り、次のコードはデータベース内のレコードを変更しません

$User->save($data);

//変更するデータ オブジェクト属性を割り当てます

$User = M("User"); // 实例化User对象

ID がデータ テーブルの主キーの場合、システムは自動的に主キーの値を更新条件として使用して、他のフィールドの値を更新します。

もう 1 つの方法は、create メソッドまたは data メソッドを通じて更新するデータ オブジェクトを作成し、それを保存することです。これにより、save メソッドのパラメーターを渡す必要がなくなります。

$data['id'] = 5;
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->save($data); // 根据条件保存修改的数据

// 変更するデータ オブジェクト属性の割り当て

$User = M("User"); // 实例化User对象

create メソッドの使用例:

$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->where('id=5')->data($data)->save(); // 根据条件保存修改的数据

// フォームによって送信された POST データに基づいてデータ オブジェクトを作成します

$User = M("User"); // 实例化User对象

上記の場合、フォームには主キーが含まれている必要があります。保存操作を完了するには名前の隠しフィールドが必要です。

個々のフィールドの値のみを更新する場合は、setField メソッドを使用できます:

$User->create();
$User->save(); //根据条件保存要修改的数据

// ユーザー名の値を変更します

$User = M("User"); // 实例化User对象

setField メソッドは、複数のフィールドの同時更新をサポートしており、配列に渡すだけです。例:

$User-> where('id=5')->setField('name','ThinkPHP');

//ユーザーの名前と電子メールの値を変更します

$User = M("User"); // 实例化User对象

統計フィールド (通常は数値タイプ) を更新するために、システムは setInc メソッドと setDec メソッドも提供します:

$User-> where('id=5')->setField(array('name','email'),array('ThinkPHP','ThinkPHP@gmail.com'));

4. データを削除します

データベース内のレコードを削除するには、ThinkPHP の delete メソッド を使用します。削除操作は、コヒーレント操作を使用して実行することもできます。

$User = M("User"); // 实例化User对象
$User->where('id=5')->delete(); // 删除id为5的用户数据
$User->where('status=0')->delete(); // 删除所有状态为0的用户数据

delete方法可以用于删除单个或者多个数据,主要取决于删除条件,也就是where方法的参数,也可以用order和limit方法来限制要删除的个数,例如:

// 删除所有状态为0的5个用户数据按照创建时间排序

$User->where('status=0')->order('create_time')->limit('5')->delete();

以上就是tp的增删查改四种方法了,更多关于tp的内天请到本站搜索哦~

相关推荐:

tp上传图片与生成缩略图功能的实现示例

TP5实现邮件发送服务封装以及可发附件的实例

TP5改写跳转提示页面的实现方法

以上がThinkPHP の追加、削除、変更、チェックインの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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