命令行下使用 gii 创建Mode --ns为命名空间,也是文件生成的位置
php yii gii/model --ns=common\\models --tableName=od_* --generateLabelsFromComments=1 --useTablePrefix=1
使用andWhere 构成 复杂条件:
$userModel = User::find()->andWhere(['!=', 'status', 0])->one();
一个数组连续使用复杂查询
$where = [
'and',
['>=', 'created_at', $startAt],
['<=', 'created_at', $endAt],
] ;
使用FIND_IN_SET
可以使用绑定参数,比直接拼接字符串要安全很多
$where = new \yii\db\Expression("FIND_IN_SET(:var, field)",[":var" => $var]);
$sql = Model::find()->where($where)->createCommand()->getRawSql();
echo $sql;
渲染其他控制器的视图
使用 //, 会从视图层开始查找
return $this->render('//site/index', $data);
Yii::$app->request 解析
// 假设当前访问的地址为 http://test.blog.com/index.php?page=1
// 获取GET参数
$request->get();
// 获取POST参数
$requset->post();
echo $request->hostInfo; // 输出 http://test.blog.com
echo $request->hostName; // 输出 test.blog.com
echo $request->url; // 输出 index.php?page=1
echo $request->userAgent; // 输出 当前浏览器的UA
echo $request->port; // 输出80 当前端口
echo $request->userIP; // 输出127.0.0.1 当前用户IP
echo $request->method; // 输出GET 当前请求方式
print_r($request->queryParams); //Array ( [page] => 1 ) 打印请求参数数组
print_r($request->queryString); //page=1 Query String
// Header 信息
print_r($request->headers->toArray()); // 打印当前所有请求头
print_r($request->headers->get('accept-language')); // 获取某一个请求头信息
$request->headers->add('content-type', 'application/json')->get('content-type'); // 添加一个头信息, 返回header对象
$request->headers->remove('content-type'); // 移除一个头信息
$request->headers->removeAll(); // 移除所有头信息
$request->headers->set('content-type', 'text/html'); // 设置头信息
// 待补充