操作数据库
MiniFramework 在 Model 中内建有一套 SQL 语句构造方法供开发者调用,对于常用的增/删/改/查操作进行了的封装,简化了 SQL 语句编码过程。
查询数据
查询数据需要用到 $this->select()
方法,支持传入字符串类型的参数 all(默认) 和 row,分别代表返回结果集数组或单个结果,示例代码如下:
namespace App\Model;
use Mini\Base\Model;
class User extends Model
{
public function getUser()
{
// 使用 KEY 为 db1 的数据库实例
$this->useDb('db1');
// 查询 user 表的全部记录,返回结果集数组
$list1 = $this->table('user')->select();
// 查询 user 表中 id 为 1 和 3 的记录,返回结果集数组
$list2 = $this->table('user')->where('id', [1, 3])->select();
// 查询 user 表中 id=4 的记录,返回单行数据信息
$info1 = $this->table('user')->where('id=4')->select('row');
// do something...
}
}
添加数据
将需要添加的数据数组通过 $this->data()
方法传入,然后用 $this->add()
方法完成添加,示例代码如下:
namespace App\Model;
use Mini\Base\Model;
class User extends Model
{
public function addUser()
{
// 使用 KEY 为 db1 的数据库实例
$this->useDb('db1');
// 插入单条数据示例
$data1 = ['id' => 1, 'name' => '张三'];
$result1 = $this->table('user')->data($data1)->add();
// 插入多条数据示例
$data2 = [
['id' => 2, 'name' => '李四'],
['id' => 3, 'name' => '王五']
];
$result2 = $this->table('user')->data($data2)->add();
// do something...
}
}
更新数据
将需要更新的数据数组通过 $this->data()
方法传入,然后通过 $this->save()
方法完成更新,示例代码如下:
namespace App\Model;
use Mini\Base\Model;
class User extends Model
{
public function updateUser()
{
// 使用 KEY 为 db1 的数据库实例
$this->useDb('db1');
// 构造需要更新的数据
$data1 = ['name' => '张三'];
// 更新 id 为 1 的记录
$result1 = $this->table('user')->data($data1)->where('id=1')->save();
// 构造需要更新的数据
$data2 = ['class' => '六年级三班'];
// 更新全部记录(不指定 where 条件)
$result1 = $this->table('user')->data($data2)->save();
// do something...
}
}
删除数据
删除数据会用到 $this->delete() 方法,当不指定 where 条件时,会删除表内全部数据,请谨慎使用。示例代码如下:
namespace App\Model;
use Mini\Base\Model;
class User extends Model
{
public function delUser()
{
// 使用 KEY 为 db1 的数据库实例
$this->useDb('db1');
// 删除 id 为 1 的记录
$result1 = $this->table('user')->where('id=1')->delete();
// 删除全部记录(不指定 where 条件),请谨慎使用。
$result2 = $this->table('user')->delete();
// do something...
}
}