tp6框架中数据库和模型中数据增删查改的简单对⽐tp6框架中数据库和模型中数据增删查改的简单对⽐
1.应⽤场景
数据库:适合简单、较⼩的项⽬
模型:可以把模型看成是数据库的增强版,适合⽐较复杂的应⽤场景
2.连接
数据库:
在根⽬录的 config 下的 database.php 可以设置数据库连接信息,主要修改⼀下⼏条:
'database' => Env::get('database.database', '数据库名称')
'username' => Env::get('database.username', '⽤户名'),
'password' => Env::get('database.password', '密码'),
但在本地测试, 会优先采⽤.env 的配置信息, 我们和 database 配置对应上即可;
使⽤:
在控制器⽬录下,创建⾃⼰的php⽂件,数据库的基本操作就可以在该⽂件下完成。
$user=Db::table('tp_user')->select();//使⽤Bb::table('表名')进⾏调⽤
模型:
1.模型的建⽴和使⽤
⾸先保证数据库的连接
模型会⾃动对应数据表,模型的命名规则是除去表前缀的数据表名称。
1.创建⼀个跟控制器平级的的⽬录model
2.在model中创建模型⽂件
如:你有⼀个Users数据表,则在model⽬录下创建⼀个Userphp⽂件。定义⼀个和数据库表向匹配的模型;class User extends Model{}
创建好模型后,在控制器进⾏调⽤。
use app\model\User;
class DataModel
{
public function index()
{
return json(User::select());//调⽤直接使⽤User::
}
}
3.数据的增删改查
a)数据新增
数据库:将新增数据写⼊变量中,使⽤insert()⽅法进⾏新增。
$data=[
'username'=>'辉夜',
'password'=>'123',
'gender'=>'⼥',
'email'=>'huiye@163',
];
Db::name('user')->insert($data);
使⽤ insertAll()⽅法, 可以批量新增数据,$data变量中保持数组结构⼀致;
也可直接使⽤save()⽅法新增。
模型的数据新增
模型:使⽤实例化的⽅式添加⼀条数据,使⽤save()⽅法写⼊数据库。
use app\model\User as UserModel;//as重命名
$user=new UserModel();//⾸先实例化:
$user->username='李⽩';
$user->password='123';
$user->gender='男';
$user->save();
更推荐使⽤create()静态⽅法创建新增的数据
$user= UserModel::create([
'username'=>'李⽩',
'password'=>'123',
'gender'=>'男',
php修改数据库内容
'email'=>'libai@163',
],['username','password','details'],false);
//参数 1 是新增数据数组,必选
//参数 2 是允许写⼊的字段,可选
//参数 3 为是否 replace 写⼊,默认 false 为 Insert 写⼊
b)数据删除
数据库
极简删除可以根据主键直接删除, 删除成功返回影响⾏数, 否则 0;
Db::name('user')->delete(51);
模型:使⽤ find()⽅法, 通过主键(id)查询到想要删除的数据;然后再通过 delete()⽅法, 将数据删除, 返回布尔值
$user= UserModel::find(93);
$user->delete();
也可以使⽤静态⽅法调⽤ destroy()⽅法, 通过主键(id)删除数据;
UserModel::destroy(92)
c)数据查询
数据库:
查询⼀条数据, 使⽤ find()⽅法, 需指定 where 条件;
return Db::table('tp_user')->where('id',27)->find();
模型
使⽤ find()⽅法, 通过主键(id)查询到想要的数据;
$user= UserModel::find(129);
return json($user);
d)数据修改
数据库:
使⽤ update()⽅法来修改数据, 修改成功返回影响⾏数, 没有修改返回 0;
$data=[
'username'=>'李⽩'
];
return Db::name('user')->where('id',38)->update($data);
模型:
使⽤ find()⽅法获取数据, 然后通过 save()⽅法保存修改, 返回布尔值;
$user= UserModel::find(118);
$user->username='李⿊';
$user->email='lihei@163';
$user->save();
总结:
数据库在controller⽬录下创建⾃⼰的⽂件,并进⾏增删改查即可。
模型需要在controller和model两个⽬录下创建⼀个模型⽂件和控制器⽂件结合使⽤,但是使⽤过程中 逻辑更清晰。
在数据库中使⽤Db::name('数据表名'),⽽模型中因为在model⽂件下提前定义了数据表,所以在控制器中声名后可以直接使⽤。
模型中的查询数据前期和数据库基本⼀摸⼀样,但是在后期模型的⽅法会更加丰富。
为了对⽐数据库和模型,本⽂总结了数据库和模型中最基本的增删改查,其中更详细的⽅法和使⽤,需要进⼀步学习。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论