这里写描述
该方法未操作事务,$param里面也是有值的,在新增的时候,调用save方法,状态返回的是true,但是数据没有新增/修改到数据库,返回成功使用这种方法DB::enableQueryLog();
$back = $this->model->save($param);
$queries = DB::getQueryLog();
dd($queries);
打印出来是个[],是我哪里操作有问题吗
class UserPupilService extends BaseService
{
/**
* 构造函数
*/
public function __construct()
{
$this->model = G(UserPupilModel::class);
}
/**
* 新增数据
* @return bool
*/
public function saveData($params)
{
// 删除多余字段
unset($params['type']);
$back = false;
// 通过用户Id检索不存在则创建一个实例
$info = $this->getPupilInfo(array('user_id' => $params['user_id']));
if(!$info){
// 加入主键Id
$params['id'] = G(SnowFlake::class)->createId();
$params['create_time'] = date('Y-m-d H:i:s');
$back = $this->model->save($params);
}else{
$arr = $info->toarray();
// 数据查重
$array_diff_assoc = array_diff_assoc($params, $arr);
// 加入修改时间
$array_diff_assoc['update_time'] = date('Y-m-d H:i:s');
// 修改数据信息
//foreach ($array_diff_assoc as $k => $val){
//$info->$k = $val;
//}
//$back = $info->save();
$back = $info->fill($array_diff_assoc)->save();
var_dump($back);
}
// return $back;
}
/**
* 获取认证记录信息
*
* @param array $where
* @return mixed
*/
public function getPupilInfo(array $where)
{
return $this->model
->selectRaw('user_id, real_name, unit_school, specialty, education, enrollment_year')
->where($where)
->first();
}
}