事务处理
public function transaction()
{
//自动处理自动回滚
Db::transaction(function (){
Db::name('user')->insert([
'username'=>'小明',
'email'=>'xiaoming@163.com',
'password'=>'123456',
'create_time'=>time()
]);
Db::name('user')->insert([
'username'=>'小ha',
'email'=>'xiaoming@163.com',
'password'=>'123456',
'create_time'=>time()
]);
});
//手动处理手动回滚
Db::startTrans();
try {
Db::name('user')->insert([
'username'=>'小明',
'email'=>'xiaoming@163.com',
'password'=>'123456',
'create_time'=>time()
]);
Db::name('user')->insert([
'username'=>'小ha',
'email'=>'xiaoming@163.com',
'password'=>'123456',
'create_time'=>time()
]);
Db::commit();
}catch (\Exception $e){
echo $e->getMessage();
Db::rollback();
}
}
获取器
//将数据的字段进行转换处理再进行操作;比如在获取数据列表的时候,将获取到的邮箱字段全部大写;
public function acquirer()
{
$user = Db::name('user')->withAttr('email', function ($value, $data)
{ return strtoupper($value); })->select();
return json($user);
}
数据集
public function dataSet()
{
//获取数据集
$user = Db::name('user')->select();
//转换成数组
dump($user->toArray());
//将数据集随机打乱
dump($user->shuffle());
//删掉数据中最后一个元素
$user->pop();
//使用whereIn查询结果集
dump($user->whereIn('id',[19,20,21]));
}