Yii2 小技巧

action 中获得 get/post 参数

Get:
Yii::$app->request->get();
第一个参数为 用户get请求的key,第二个参数是默认值,第二个参数选填;
Yii::$app->request->queryParams;得到的是数组

Post:
Yii::$app->request->post();
第一个参数为 用户post请求的key,第二个参数是默认值,第二个参数选填;
Yii::$app->request->bodyParams;

判断用户请求:
Yii::$app->request->isGet;
Yii::$app->request->isPost;

查看 $model->find() 执行的 SQL 语句


$users = Staff::find()->where("username=:name",array(":name"=>$username))->createCommand()->getRawSql();

$model->save(); 不生效

今天发现调用某个 model 示例的 save() 方法,但数据库并没有产生相应的记录,最后发现是我改了数据表的字段类型,导致校验失败


// 在执行 save() 方法之前,看数据校验是否能通过
$log->validate();
var_dump($log->errors);die;
$log->save();

多表关联查询

请参考:http://www.cnblogs.com/yiifans/p/3786374.html

多个 model 的 where 查询

请参考:

  • https://segmentfault.com/q/1010000003694801
  • http://www.yiichina.com/tutorial/95?sort=desc

解决 SCRF 导致的 400 Bad Request

请参考:http://www.yiichina.com/tutorial/449

你可能感兴趣的:(Yii2 小技巧)