将会持续更新…
控制器位置 application/admin/controller/frieslandtravel/Reason.php
模型位置 application/admin/model/FrieslandtravelReason.php
注意模型里面只能写增删改查操作 其他逻辑不要写在里面
模型命名方式
开始代码示例
model【FrieslandtravelReason.php】代码示例
<?php
namespace app\admin\model;
use think\Model;
class FrieslandtravelReason extends Model
{
// 表名 没有前缀的
protected $name = 'frieslandtravel_reason';
//protected $pk = 'name'; //get 查询时的默认主键 $this->get(123);
const AA = '123'; //自定义常量`在这里插入代码片`
/**
* 添加
*/
public function model_insert(){
$post_data = $_POST;
$data = [
'reason_name' => $post_data['reason_name'],
'state' => $post_data['state'],
'orderby' => $post_data['orderby'],
'create_user' => $_SESSION['think']['admin']['username'],
];
return $this->save($data);
}
/**
* 修改
*/
public function model_save(){
$post_data = input();
//修改数据
$data = [
'reason_name' => $post_data['reason_name'],
'state' => $post_data['state'],
'orderby' => $post_data['orderby'],
'update_user' => $_SESSION['think']['admin']['username'],
'update_time' => date("Y-m-d H:i:s",time())
];
//修改条件
$where['id'] = $post_data['ids'];
return $this->save($data,$where);
}
/**
* 软删除修改
*/
public function model_del(){
$post_data = input();
//修改数据
$data = [
'state' => -1,
'update_user' => $_SESSION['think']['admin']['username'],
'update_time' => date("Y-m-d H:i:s",time())
];
//修改条件
$where['id'] = array('in',$post_data['ids']);
return $this->save($data,$where);
}
/**
* 查询单条数据
* $param $field 字段名字
* $param $field_value 字段值
*/
public function model_find($field,$field_value){
return $obj = self::where([$field=>array('in',$field_value)])->find();
// dump($obj->id);die;
// return (self::where([$field=>array('in',$field_value)])->find())->data; //不能直接获取对象里面的date 万一对象里面为空 则会报错
}
/**
* 添加-根据某个字段判断重复
*/
public function model_add_repeat(){
$post_data = $_POST;
// collection(
//self::where($field, $field_value)->select()
//)->toArray()必须将结果集转换为数组
//多个where条件 加 ->where()
return self::where([
'reason_name'=>$post_data['reason_name'],
'state' => array('neq',-1)
])->count();
}
/**
* 修改-根据某个字段判断重复
*/
public function model_update_repeat(){
$post_data = input();
// collection(
//self::where($field, $field_value)->select()
//)->toArray()必须将结果集转换为数组
//多个where条件 加 ->where()
return self::where([
'id'=>array('neq', $post_data['ids']),
'reason_name'=>$post_data['reason_name'],
'state' => array('neq',-1)
])->count();
}
}
控制器【Reason.php】代码示例
说明
引用模型有两种方式
第一种
use app\admin\model\FrieslandtravelReason;
use think\model;
class Reason extends Base
{
//注意下面这个注注释必须有
/**
* @var \app\admin\model\FrieslandtravelReason
*/
protected $model = null; //要定义一个全局变量
public function _initialize()
{
parent::_initialize();
$this->model = model('FrieslandtravelReason');
}
//调用
public function add(){
$this->model->model_add_repeat()
}
第二种
use app\admin\model\FrieslandtravelReason;
class Reason extends Base
{
//注意下面这个注注释必须有
/**
* @var \app\admin\model\FrieslandtravelReason
*/
//调用
public function add(){
$aa = new FrieslandtravelReason();
$aa->model_add_repeat()
}
<?php
namespace app\admin\controller\frieslandtravel;
use app\admin\controller\frieslandtravel\Base;
use app\admin\model\FrieslandtravelReason;
use think\model;
class Reason extends Base
{
/**
* @var \app\admin\model\FrieslandtravelReason
*/
protected $model = null;
public function _initialize()
{
parent::_initialize();
$this->model = model('FrieslandtravelReason');
}
/**
* 添加
*/
public function add()
{
if ($this->request->isPost()) {
$post_data = $_POST;
$repeat_res = $this->model->model_add_repeat();
if ($repeat_res > 0) {
$this->error('出差事由名称不能重复'); //跳转失败
}
$insert_res = $this->model->model_insert($_POST);
if($insert_res){
$this->success('添加成功');
}else{
$this->error('添加失败'); //跳转失败
}
}
return $this->view->fetch();
}
/**
* 编辑
*/
public function edit($ids = NULL)
{
if ($this->request->isPost()) {
$post_data = input();
$repeat_res = $this->model->model_update_repeat();
if ($repeat_res > 0) {
$this->error('出差事由名称不能重复'); //跳转失败
}
$save_res = $this->model->model_save();
if($save_res){
$this->success('修改成功');
}else{
$this->error('修改失败'); //跳转失败
}
}
$row = $this->model->model_find('id',$ids);
if (!$row) $this->error(__('无数据'));
$this->view->assign("row", $row);
return $this->view->fetch();
}
/**
* 删除
*/
public function del($ids = "")
{
if ($ids) {
$row = $this->model->model_del();
if($row){
$this->success('删除成功');
}else{
$this->error('删除失败'); //跳转失败
}
}
$this->error(__('You have no permission'));
}
}