代替model层,更灵活的对前端发送的数据进行重新拼装插入到数据库中
示例代码:
<?php
namespace app\flow\logic;
use library\Controller;
use think\Db;
use think\Exception;
class TagLogic extends Controller
{
//添加分组数据
public function doSaveTagData($data){
//定义合并数组
// $mergeArr = array();
Db::startTrans();
try {
//整合流程数据
$data = $this->initializeTagData($data);
Db::name('rht_flow_tag')->insert($data);
Db::commit();
return ['code' => 1, 'msg' => '流程数据添加成功'];
} catch (Exception $e) {
Db::rollback();
return ['code' => 0, 'msg' => '数据库操作异常', 'data' => ['error_msg' => $e->getMessage()]];
}
}
//更新数据
public function doUPdateTagData($id,$data)
{
$data = $this->initializeTagData($data);
return Db::name('rht_flow_tag')->where('id',$id)->update($data);
}
//初始化分组数据
public function initializeTagData($data)
{
$group = [
'name' => $data['title'] ?? "",
'sort' => $data['sort'] ?? "",
'remark' => $data['content'] ?? "",
'status' => $data['status'] ?? "",
];
return $group;
}
}
控制层对logic文件的引用
这里需要new的形式调用
<?php
namespace app\flow\controller;
use app\flow\logic\TagLogic;
class Tag extends Controller
{
public function insertOne()
{
$tagLogic = new TagLogic();
$data = Request::post();
$result = $tagLogic->doSaveTagData($data);
return $result;
}
}