控制器
自动搜索控制器 'controller_auto_search' => true, 只有在应用配置文件里修改才起作用
多级控制器 路由:'api/v1/:a/:b/:c' => 'api/v1.:a.:b/:c'
路由
'api/v1/user/saler/auth'=>'index/index/index',
'api/v1/user/saler/auth'=>'api/v1.user.Saler/auth',
模型
- 查询
模型查询出来的结果都是模型对象或模型对象的集合
$user = new UserModel();$output = $user->field('userid,name')->where('userid', $userid)->find();$list = $user->field('userid,name')->where('userid', $userid)->whereor('role',2)->limit(0,10)->select();
- 子查询
$list = Db::table('t_product') ->where('productid','IN',function($query) use($myid) { $query->table('t_follow_product')->where('userid',$myid)->field('productid'); }) ->column('productid,name');
- 关联查找
$m = new AuthModel();$m->field('userid,auth_state') // 必须得有userid,否则hasOne不会触发 ->with('user') ->where('userid',$userid) ->find();class Auth extends Model { public function user() { return $this->hasOne('User','userid')->bind('role,name,head_img_url'); }}
- 删除
删除条件必须是主键,如果不是主键,必须用where
UserModel::destroy(['userid'=>$userid]);$m->where('name',$name)->delete();
- 插入
$user = new UserModel();$user->mobile = $mobile;$user->password = $password;$res = $user->save();$id = $user->userid
- 更新
$user = new UserModel();$user->save(['name'=>'haha'],['userid'=>$userid]);
- 对象转数组
$list = User::all();if($list) { $list = collection($list)->toArray();}
- 新增属性
新增属性必须得赋值
$user->append(['code']);$user->code = 0;
- 读取器
可以获取一个不存在的字段,如果触发这个不存在的字段可以使用append()
public function getCompanyNameAttr($value, $data) { if (array_key_exists('company_id', $data)) { $company_id = $data['company_id']; return UserModel::where('userid',$company_id)->value('name'); } return '';}$output->append(['company_name','code','msg']);