谁一开始就是大神?

PHP 第112页

PHP

$this->save()的参数问题

Jackpony阅读(109)

$this->save() 的参数有 True 和 False,请教他们都代表什么意思啊?

true 验证数据,false 不验证数据
追踪代码是:true 插入 false 更新
这个, API 的注释已经相当清楚了,true 验证数据, 会调用 validate() 方法,false 不验证数据,直接存储,至于是更新数据,还是插入数据,就看 $this->getIsNewRecord() 的返回结果了,跟 save 方法的参数没有丁点关系
save 方法的定义
采纳了一个明显错误的答案……

Yii2原生SQL+GridView分页问题

acgStone阅读(93)

在sql比较复杂,用orm不好实现的情况下需要写原生sql还要用GirdView展现数据;
我的思路是这样的(已实现):

//Controller

$sql = 'select a.id,b.name,c.age from a,b,c where xxx';  
$q = Yii::$app->db2->createCommand($sql)->queryAll();  
$pages = new Pagination([
            'totalCount'=>count($q),
        ]);
$list = Yii::$app->db2->createCommand($sql." limit ".$pages->limit." offset ".$pages->offset."")->queryAll();  
 $dataprovider = new ArrayDataProvider([
       'allModels' => $list,
 ]);  
return $this->render('circle',[
     'dataprovider'=>$dataprovider,
      'pages'=>$pages,
]);  

//View

<?= GridView::widget([  
    'dataProvider'=>$dataprovider,  
    //不显示gridview的分页,在这指定totalCount属性不好使(问题就在这)  
    'pager'=>[
        'options'=>['class'=>'hidden']
    ],
    'columns'=>[
        //此处略去n多字
    ],
]) ?>  
//单独展示分页  
<?= LinkPager::widget([
    'pagination'=>$pages,
]) ?>

虽然这样能实现我想要的结果,但是总感觉姿势不对.求大神指点

视图
为了避免你误人子弟我只好出手了
我也出手了,学习….
为什么我的分页出不来??
那么,我也给个优雅的回答
controller:
视图
又涨姿势了

怎么把activeform生成的相关的js全给删除?

Dmsuper阅读(90)

Yii2.0 ActiveForm
我就只生成表格,和表格相关的自动生成js我全不要,怎么搞?

···
<?php $form= ActiveForm::begin([
])
那就不要用ActiveForm,自己写table吧。
那样的话,就需要去改动源码才行了
啊 我不是故意弄乱格式的

关于在网页中输出表格的MVC实现

Ellieyak阅读(100)

用yii框架如何在前台输出一个表格,表格内容为数据库的表的内容,应该分别在M,V,C目录中如何写,就是面向过程的具体代码会写,面向对象的就不知道代码该分别写在哪个目录中了,求大神指点,谢谢!

官方的blog就是一个完整的例子,看完你就明白了。

一个GridViewjs的问题

Kindapple阅读(106)

问题是这样的:一个GridView列表,使用了CCheckBoxColumn,允许多选。比方说数据有三条A、B、C;其中C的checkbox被我设置为了disabled,但是通过表头的全选按钮,ABC三条数据还是都能被选中….但是我不想C被选中….

jQ学的不是很好。看了下js源码,但是不知道怎么改。jquery.yiigridview.js的166行~

有jQ学的比较好的可以帮忙看看

这个不需要改jquery.yiigridview.js吧 , 即使被勾中了,disbaled属性还是有的。所以你可以在 jquery.yiigridview.js 脚本执行之后再添加一个checkbox的click 监听即可。大致这样(一定要保证最后执行):
建议你判断一下,不用disabled,直接不加checkbox,也就是判断它不需要可选时就不加checkbox,这样可以少改一些代码。

yii1.0上传文件bug

Swiftelephant阅读(89)

我实现的上传文件,在本地以及apache服务器上面都正常,换了一台nginx之后就报错了、、、

2014/09/19 18:26:49 [error] [exception.CException] exception ‘CException’ with message ‘缺乏暂存目录来储存已上传的文件 “(1).jpg”.’

这是报错内容

会不会是上传存放的文件夹不存在或没权限

Yii2的Redis操作问题

Leohappy阅读(82)

不知道如何使用redis的hmset方法…
代码如下:
Yii::$app->redis->hmset('user:1',['name'=>'joe','solary'=>2000]);

报错如下
mb_strlen() expects parameter 1 to be string, array given

hash 数据的操作刚我们想象的不一样, 这么说吧,yii\redis\Connection 操作的 redis 的数据参数,没有数组,也没有数字的概念,只有字符串,Connection 是一个一个发送数据的,看 hmset 的参数说明
所以 Yii::$app->redis->hmset('user:1',['name'=>'joe','solary'=>2000]);
其实应该是 Yii::$app->redis->hmset('user:1', 'name', 'joe', 'solary', 2000); 这么调用的
当然你也可以通过
Yii::$app->redis->executeCommand('HMSET', ['user:1', 'name', 'joe', 'solary', 2000]) 这么调用
直译报错信息的话应该是mb_strlen()的第一个参数应该是一个字符串结果给了一个数组 所以需要再次确认是不是hmset的存值引起的报错 $redis->hmset(‘test’, array(‘name’ =>’joe’, ‘solary’=>2000))这个是不在Yii中redis的hmset使用方法 建议换种写法试试
好像在yii2.0.4中没有找到redis的相关操作类,怎么破???
yii2.0 如何安装配置redis?
我想问问 redis发布订阅怎么用,我使用订阅的时候也提示mb_strlen()给了个数组这种错误

Yii2.0,前台和后台设置不同的用户认证类?

HazelLion阅读(103)

在web.php配置里面,user组件里面可以配置identityClass选项是用那个用户类认证,我现在后台是用的一个module,我怎么让我的前途和后台的user的identityClass选项用不同的用户类?
我试着在module的components里面试图重新定义,我看不会覆盖啊!

前后台的主配置文件不一样啊,在backend和frontend的main.php里分别指定就可以了,注意和common/config/main.php merge的顺序
我在index.php 中打印出$config
[“user”]=>
这里写的是调用 backend\models\user 可是登录的时候还是调用的 common\models\User 类
亲测有用 Yii::$app->user->identityClass = ‘app\models\User2’;

模型的sql查询疑问

forevernice阅读(112)

select a.x,b.y from a,b where a.id=b.id

然后A模型用findallbysql为什么只有a.x的值,b.y的值没有啊?

求大神告知缘由谢谢。

因为你的A模型 没有y这个属性,可以自己加这么一个属性,也可以使用yii的relations

登录

找回密码

注册