/** * 记录VERSION * @param unknown $data * @param unknown $condition */ function beforeUpdate($data, $condition) { $data = $this->filterData($data); $mo = mongo($this->tbVersion); if (!$data) { return true; } foreach ($data as $k => $v) { $mo->{$k} = $v; } $mo->nodeid = $condition['_id']; $mo->save(); return true; }
/** * * unique(users,user) * @param unknown $value * @param unknown $input * @param unknown $args */ public function validate_unique($value, $input, $args) { $tb = $args[0]; $name = $args[1]; if (!$tb || !$name) { return true; } $one = mongo($tb)->findOne([$name => $input[$name]]); $flag = false; $id = $_GET['id']; if ($one && $id && $one->id == $id) { $flag = true; } return true; }
/** * 分页 * $data = $this->obj->page([ * 'url'=>'/posts', * 'size'=>10, * 'sort'=>[ * 'created'=>-1 * ], * 'condition'=>[ * 'status'=>1 * ], * ]); * return view('post',$data); * @param array $par */ public function page($par = []) { $url = $par['url'] ?: '/posts'; $size = $par['size'] ?: 10; $condition = $par['condition'] ?: []; unset($par['url'], $par['size'], $par['condition']); $count = mongo($this->tb)->getMapper()->count($condition); $pageArray = page($url, $count, $size); $data['page'] = $pageArray['link']; $mo = mongo($this->tb)->getMapper()->find($condition); if ($par) { foreach ($par as $k => $v) { $mo = $mo->{$k}($v); } } $mo = $mo->skip($pageArray['offset']); $mo = $mo->limit($size); $data['datas'] = $mo->get(); $data['count'] = $count; return $data; }