thinkphp 如何在dao层做一个公共的增删改查
时间: 2024-04-29 12:23:21 浏览: 17
在ThinkPHP的DAO层中,可以通过建立一个公共的基类来实现增删改查的功能。
首先,在DAO层中建立一个BaseDao类,该类包含了通用的增删改查操作。例如:
```
namespace app\common\dao;
use think\Db;
class BaseDao
{
protected $table; // 数据表名
public function __construct($table)
{
$this->table = $table;
}
// 新增记录
public function create($data)
{
Db::table($this->table)->insert($data);
}
// 删除记录
public function delete($condition)
{
Db::table($this->table)->where($condition)->delete();
}
// 更新记录
public function update($condition, $data)
{
Db::table($this->table)->where($condition)->update($data);
}
// 查询单条记录
public function findOne($condition)
{
return Db::table($this->table)->where($condition)->find();
}
// 查询多条记录
public function findAll($condition)
{
return Db::table($this->table)->where($condition)->select();
}
}
```
然后,在其他DAO类中继承BaseDao类,就可以直接调用BaseDao中的增删改查方法。例如,在UserDao中继承BaseDao类:
```
namespace app\common\dao;
class UserDao extends BaseDao
{
public function __construct()
{
parent::__construct('user'); // 数据表名为user
}
}
```
这样,通过调用UserDao中继承自BaseDao的方法,就可以实现对user表的增删改查操作。例如:
```
$userDao = new UserDao();
// 新增记录
$data = ['name' => 'Tom', 'age' => 20];
$userDao->create($data);
// 删除记录
$condition = ['id' => 1];
$userDao->delete($condition);
// 更新记录
$condition = ['id' => 2];
$data = ['name' => 'Jerry'];
$userDao->update($condition, $data);
// 查询单条记录
$condition = ['id' => 2];
$user = $userDao->findOne($condition);
// 查询多条记录
$condition = ['age' => ['>=', 18]];
$users = $userDao->findAll($condition);
```
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)