get方式搜索后,参数追加到url后面了,但是?后面的r=book/index丢掉了,跳转回了默认的site/index,
搜索后的URL:http://localhost/advanced/frontend/web/index.php?status=1&tagid0=&tagid1=
不写action的话 默认调到访问的controller
get方式搜索后,参数追加到url后面了,但是?后面的r=book/index丢掉了,跳转回了默认的site/index,
搜索后的URL:http://localhost/advanced/frontend/web/index.php?status=1&tagid0=&tagid1=
不写action的话 默认调到访问的controller
如图
终于找到解决方案了… 谷歌帮了忙… config/main.php 加上
设置了时区没有起作用的问题, 我的是在服务器上有这个问题, 设置了
'timeZone' => 'Asia/Shanghai'
但是列表展示的时候还是英文格式'created_at:datetime'
还是显示成这样:May 20, 2016 5:16:54 PM
我也用下面的输出了, 就是上海 Asia/Shanghai
echo date_default_timezone_get();
dd(Yii::$app->getTimeZone());
Yii::$app->formatter->locale看看输出什么?还是中文再说。
解释一下这个问题:
1,yii使用的是php intl扩展来格式化一些数据;
2,yii使用intlDateFormatter来格式化显示不同时区的时间格式;
所以检查这么几点:1,intl扩展安了没?2,locale对不对。。。
也碰到过这个问题
这个改了时区能输出中文的?
是不是放错配置文件了?
刚刚看了我的,我发现我这边是可以的,所以可能还是你那边有点问题。你把时区设置在哪呢?可能还是时区的问题。
我的也是出现了这个问题 在本地的 是用wamapserver 可以显示中文但是传到服务器了就变成英文的了
如果你的数据是时间字符串, 而且你用了GridView的时间format发现设置的时区没有生效,那么可能是有一处设置遗漏了:
在web.php的components里面加入下面配置
public function rules()
{
return [
[['name'], 'required'],
];
}
这是models里的rules方法。
$form = ActiveForm::begin();
?>
<?= $form->field($model,'name')->textInput(); ?>
<?= Html::submitButton('创建') ?>
<?php ActiveForm::end();?>
这是视图中的表单,就一个name文本框。
public function actionAdd(){
$model = new Category();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
echo 'yes';die;
}
return $this->render('add',['model'=>$model]);
}
这是控制器的添加方法。
数据库就两个字段,一个id,一个name。
现在的情况是如果注释掉models中的rules方法,插入数据库的name字段是空值,如果不注释rules方法就都正常。
难道必须要有rules方法才可以吗?
因为你用了$model::load
方法,该方法就是要把你post过来的数据赋值给rules中定义的字段。
因此在使用load的情况下rules是必须的,即时你不做验证的话。
如果没有rules,你post过来的数据也就类似没办法赋值给model的属性,因此结果会是null。
必须过规则,不想验证就指定属性为save
有时候表单数据量过大,就该用 file_get_contents('php://input')
得到的数据如下:
name[1][]=啊啊&name[2][]=啊啊&name[4][]=搜索&name[6][]=色&address[]=是的&address[]=恩爱&address[]=的我&sss[1]=wean&submit=Submit
可这串数据如何转换成:
Array
(
[name] => Array
(
[1] => Array
(
[0] => 啊啊
)
[2] => Array
(
[0] => 啊啊
)
[4] => Array
(
[0] => 搜索
)
[6] => Array
(
[0] => 色
)
)
[address] => Array
(
[0] => 是的
[1] => 恩爱
[2] => 的我
)
[sss] => Array
(
[1] => wean
)
[submit] => Submit
)
$str = 'name[1][]=啊啊&name[2][]=啊啊&name[4][]=搜索&name[6][]=色&address[]=是的&address[]=恩爱&address[]=的我&sss[1]=wean&submit=Submit';
parse_str($str, $data);
var_export($data);
[]就是数组吧
这不就是x-www-urlencoded类型,为嘛不用$_POST
<?= $form->field($order, 'name')?>
怎样设置一个默认值呢?
前台默認
OR
在 Class 預設 initial
OR
後台默認
請參考 @koko 的 http://www.yiichina.com/search?q=默认值
动手检索下不是更快?
源码里也有例子说明如何设置。
http://www.yiichina.com/search?q=默认值
不同的表单形式指定默认值的方法各不相同
楼上的回答不太好吧,如果有值,楼上的前两个方法就不行了吧。http://www.yiichina.com/question/419
public function getDoctor()
{
return $this->hasOne(Doctor::className(), ['id' => 'doctor_id']);
}
比如我在model中关联了一张doctor表,但是我想给doctor表设置别名,请问要怎么设置?
Try This :
标题
model 连表查询时怎么给字段设置别名?
rbac中的rule要求继承yii\rbac\Rule,实现public function execute($user, $item, $params)
,我追踪execute函数一直到DBManager的CheckAccess函数,其中的$params参数是什么?是从哪里传入的?
另外判断是否拥有某个权限的can()
方法是在哪里定义的?
$params 当前请求携带的参数. 如下中的post就是参数了:
can()方法是在yii\web\User中的
可以看看这位兄弟写的:http://www.yiichina.com/tutorial/822
return $this->redirect('catalog/list');
上面的代码直接转到frontend/web/catalog/list
来了
我想让他根据URL设置判断转到frontend/web/index.php?r=catalog/list
或是frontend/web/catalog/list
该怎么写呢?
那个不会根据url规则自动转格式?
yii2如何在视图中添加链接的时候,追加上之前的链接,后面在跟参数呢,例如:
原链接是 www.baidu.com/table/1 ,我后面的链接要追加参数,实现
www.baidu.com/table/1?ordersn=1234234 ,这样应该怎么写这个a标签呢?
注:table/1,是可变的,可能是table/index,所以不能写死
yii\helpers\Url::current(['a' => 1])
麻烦把分给我~<?= Html::a('所有',['qy/wechat/index','type'=>0])?>