今日は ThinkPHP の追加、削除、変更、チェックの操作をいくつか学びました。かなりわかりやすくなったと思います。一緒に学びましょう。
#1. 作成操作
ThinkPHP の add メソッドを使用して、データベースにデータを追加します。
使用方法は次のとおりです。
$User = M("User"); // 实例化User对象 $data['name'] = 'ThinkPHP'; $data['email'] = 'ThinkPHP@gmail.com'; $User->add($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对象 // 查找status值为1的用户数据以创建时间排序返回10条数据 $list = $User->where('status=1')->order('create_time')->limit(10)->select();
select メソッドの戻り値は 2 次元配列で、結果が見つからない場合は空の配列が返されます。 上記の一貫した操作方法と組み合わせると、複雑なデータ クエリを完了できます。最も複雑な一貫した方法は、where メソッドの使用です。この部分には多くのコンテンツが含まれるため、アセンブル方法についてはクエリ言語部分で詳しく説明します。クエリ条件を示します。基本クエリには当面、関連クエリ部分は含まれませんが、関連モデルを使用してデータ操作を実行します。この部分については、関連モデル部分を参照してください。
find メソッドを使用してデータを読み取ります。
データを読み取る操作は、実際にはデータ セットをすべて選択する操作と似ています。これらは find メソッドでも使用できます。違いは、find メソッドは最大 1 つのレコードのみを返すため、limit メソッドは find クエリ操作では無効であることです。
$User = M("User"); // 实例化User对象 // 查找status值为1name值为think的用户数据 $User->where('status=1 AND name="think" ')->find();
条件を満たすデータが複数ある場合でも、find メソッドは最初のレコードのみを返します。
#フィールドの値を読み取りたい場合は、getField メソッドを使用できます。例:
# #$User = M("User"); // 实例化User对象
// 获取ID为3的用户的昵称
$nickname = $User->where('id=3')->getField('nickname');
#複数のフィールドが渡された場合、連想配列を返すことができます:
#$User = M("User"); // 实例化User对象
// 获取所有用户的ID和昵称列表
$list = $User->getField('id,nickname');
3.
データの更新ThinkPHP の save
メソッドを使用してデータベースを更新します。 、コヒーレント操作の使用もサポートされています。
$User = M("User"); // 实例化User对象 // 要修改的数据对象属性赋值 $data['name'] = 'ThinkPHP'; $data['email'] = 'ThinkPHP@gmail.com'; $User->where('id=5')->save($data); // 根据条件保存修改的数据
メソッドはデータベース レコードを更新しません。 したがって、次のコードは
データベース内のレコードを変更しません $User->save($data); 除非使用下面的方式: 如果id是数据表的主键的话,系统自动会把主键的值作为更新条件来更新其他字段的值。 还有一种方法是通过create或者data方法创建要更新的数据对象,然后进行保存操作,这样save方法的参数可以不需要传入。 使用create方法的例子: 上面的情况,表单中必须包含一个以主键为名称的隐藏域,才能完成保存操作。 如果只是更新个别字段的值,可以使用setField方法: 而对于统计字段(通常指的是数字类型)的更新,系统还提供了setInc和setDec方法: 四、删除数据 在ThinkPHP中使用delete方法删除数据库中的记录。同样可以使用连贯操作进行删除操作。 delete方法可以用于删除单个或者多个数据,主要取决于删除条件,也就是where方法的参数,也可以用order和limit方法来限制要删除的个数,例如:$User = M("User"); // 实例化User对象
// 要修改的数据对象属性赋值
$data['id'] = 5;
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->save($data); // 根据条件保存修改的数据
$User = M("User"); // 实例化User对象
// 要修改的数据对象属性赋值
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->where('id=5')->data($data)->save(); // 根据条件保存修改的数据
$User = M("User"); // 实例化User对象
// 根据表单提交的POST数据创建数据对象
$User->create();
$User->save(); //根据条件保存要修改的数据
$User = M("User"); // 实例化User对象
// 更改用户的name值
$User-> where('id=5')->setField('name','ThinkPHP');
setField方法支持同时更新多个字段,只需要传入数组即可,例如:
$User = M("User"); // 实例化User对象
// 更改用户的name和email的值
$User-> where('id=5')->setField(array('name','email'),array('ThinkPHP','ThinkPHP@gmail.com'));
$User = M("User"); // 实例化User对象
$User->setInc('score','id=5',3);// 用户的积分加3
$User->setInc('score','id=5'); // 用户的积分加1
$User->setDec('score','id=5',5);// 用户的积分减5
$User->setDec('score','id=5'); // 用户的积分减1
$User = M("User"); // 实例化User对象
$User->where('id=5')->delete(); // 删除id为5的用户数据
$User->where('status=0')->delete(); // 删除所有状态为0的用户数据
// 删除所有状态为0的5个用户数据按照创建时间排序
$User->where('status=0')->order('create_time')->limit('5')->delete();
本文讲解了关于ThinkPHP的增、删、改、查 的一些总结,更多相关内容请关注php中文网。
相关推荐:
以上がThinkPHP での追加、削除、変更、チェックに関する概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。