徐善通的随笔

千里之行, 始于足下



Yii2 常用操作


命令行下使用 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'); // 设置头信息

// 待补充

Yii
作者: 徐善通
地址: https://www.xstnet.com/article-84.html
声明: 除非本文有注明出处,否则转载请注明本文地址


我有话说



最新回复


正在加载中....

Copyrights © 2016-2019 醉丶春风 , All rights reserved. 皖ICP备15015582号-1