请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请教李老师帮助解决问题!谢谢

https://img1.sycdn.imooc.com/szimg//5915a9b70001a8a610960559.jpg

我把$children['roles']改成空数组[],显示没问题,就是又没有了已经选择的项,想找半天,没看出什么地方不对,请李老师指教!!!

正在回答 回答被采纳积分+3

4回答

Jason 2017-05-12 21:03:28

哦哦,应该是children里面是空数组,没有下标roles,所以报notice错

0 回复 有任何疑惑可以回复我~
Jason 2017-05-12 20:41:42

没太理解,再仔细说下你的需求

0 回复 有任何疑惑可以回复我~
提问者 慕姐8387086 2017-05-12 21:16:11

那是哪里错了呢,请明示!

0 回复 有任何疑惑可以回复我~
  • Jason #1
    在控制器做一个判断
    if (!isset($children['roles'])) {
         $children['roles'] = [];
    }
    回复 有任何疑惑可以回复我~ 2017-05-12 21:21:55
  • 提问者 慕姐8387086 回复 Jason #2
    谢谢老师,已解决了!
    回复 有任何疑惑可以回复我~ 2017-05-12 21:38:41
  • Jason 回复 提问者 慕姐8387086 #3
    好的,不客气
    回复 有任何疑惑可以回复我~ 2017-05-12 21:39:53
提问者 慕姐8387086 2017-05-12 20:50:56

好的,这个错是在点击“角色列表”中的“分配权限”时报错的,超级用户已经有了所有权限,把

<?php echo Html::label('角色子节点', null). Html::checkboxList('children', $children['roles'], $roles); ?>

改成了

<?php echo Html::label('角色子节点', null). Html::checkboxList('children', [], $roles); ?>

正常显示出来,可就是没有原有已经选择过的权限!

是不是在创建角色时就应该给数据表shop_auth_item_child里写进一条记录才对?

0 回复 有任何疑惑可以回复我~
  • if (empty($children))
            {
                return [
    				'roles' => [],
    				'permissions' => [],
    				];
            }
    
    这样子改就好了
    回复 有任何疑惑可以回复我~ 2017-10-12 22:51:06
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号