fleaphp rolesNameField bug解决方法

代码如下:

function fetchRoles($user)
{
if ($this->existsLink($this->rolesField)) {
$link =& $this->getLink($this->rolesField);
$rolenameField = $link->assocTDG->rolesNameField;
} else {
$rolenameField = 'rolename';
}

if (!isset($user[$this->rolesField]) ||
!is_array($user[$this->rolesField])) {
return array();
}
$roles = array();
foreach ($user[$this->rolesField] as $role) {
if (!is_array($role)) {
return array($user[$this->rolesField][$rolenameField]);
}
$roles[] = $role[$rolenameField];
}
return $roles;
}

在页面中定义了rolesNameField 也无效,因此在下面这段后面加多一行


代码如下:

$rolenameField = $link->assocTDG->rolesNameField;

代码如下:

$rolenameField = $rolenameField ? $rolenameField : 'rolename';

(0)

相关推荐

  • fleaphp下不确定的多条件查询的巧妙解决方法

    问题:例如,实现如下 $data = array( 'id' => $_POST['id1'], 'name' => $_POST['name1'] ); $posts = $this->_modelstudent->findAll($data); 页面上有 id name 的文本框 可输入ID查询 也可输入NAME查询 也可同时输入查询 : 解决:写循环做判断 例子如下: $conditions = null; $fields = array('id', 'name', 'sex

  • FleaPHP框架数据库查询条件($conditions)写法总结

    本文实例讲述了FleaPHP框架数据库查询条件($conditions)写法.分享给大家供大家参考,具体如下: 在FleaPHP中,凡是用到数据库查询的函数,都需要查询条件参数$conditions,现讲述用法如下: 举例: // $conditions 保存查询条件 $conditions = 'level_ix > 1'; // $tableOrders 是一个订单数据表的表数据入口对象 $order = $tableOrders->find($conditions, 'created D

  • fleaphp常用方法分页之Pager使用方法

    Pager 分页函数 复制代码 代码如下: /** * 构造函数 * * 如果 $source 参数是一个 TableDataGateway 对象,则 FLEA_Helper_Pager 会调用 * 该 TDG 对象的 findCount() 和 findAll() 来确定记录总数并返回记录集. * * 如果 $source 参数是一个字符串,则假定为 SQL 语句.这时,FLEA_Helper_Pager * 不会自动调用计算各项分页参数.必须通过 setCount() 方法来设置作为分页计算

  • Fleaphp常见函数功能与用法示例

    本文实例讲述了Fleaphp常见函数功能与用法.分享给大家供大家参考,具体如下: 1. FLEA_Db_TableDataGateway::update()用法: 例如:修改一条 uid=22 的记录, name字段改成"11", pass字段改成"22",就要这样写: $data = array('uid'=>22,'name'=>11,'pass'=>22); $table->update($data); 2. FLEA_Db_Table

  • FleaPHP的安全设置方法

    前提条件:虚拟机,无法将fleaphp文件夹放在http无法访问的路径,无法修改apache和php的配置文件. fleaphp使用默认配置 方法: 1.controller文件夹 放在根目录外 (此种办法只能适合自己有服务器) 2.在controller的文件里,尽量不要显式输出如echo print等 3.隐藏controller目录 如取个类似密码的文件夹sdfsdf12312SDCVd/Flea 4,通过配置文件更改默认CMT的目录名称 5.在根目录下面放一个.htaccess用于禁止某

  • fleaphp crud操作之findByField函数的使用方法

    findByField函数原型 复制代码 代码如下: /** * 返回具有指定字段值的第一条记录 * * @param string $field * @param mixed $value * @param string $sort * @param mixed $fields * * @return array */ function & findByField($field, $value, $sort = null, $fields = '*') { return $this->fi

  • fleaphp crud操作之find函数的使用方法

    find函数的原型 复制代码 代码如下: /** * 返回符合条件的第一条记录及所有关联的数据,查询没有结果返回 false * * @param mixed $conditions * @param string $sort * @param mixed $fields * @param mixed $queryLinks * * @return array */ function & find($conditions, $sort = null, $fields = '*', $queryL

  • php基于Fleaphp框架实现cvs数据导入MySQL的方法

    本文实例讲述了php基于Fleaphp框架实现cvs数据导入MySQL的方法.分享给大家供大家参考,具体如下: <?php /* * To change this template, choose Tools | Templates * and open the template in the editor. */ class Controller_KaoqinUpload extends FLEA_Controller_Action { var $uploaddir = "./uploa

  • fleaphp rolesNameField bug解决方法

    复制代码 代码如下: function fetchRoles($user) { if ($this->existsLink($this->rolesField)) { $link =& $this->getLink($this->rolesField); $rolenameField = $link->assocTDG->rolesNameField; } else { $rolenameField = 'rolename'; } if (!isset($use

  • Thinkphp中volist标签mod控制一定记录的换行BUG解决方法

    本文实例讲述了Thinkphp中volist标签mod控制一定记录的换行BUG解决方法.分享给大家供大家参考.具体方法如下: 一.BUG描述: 存在于thinkphp 2.0 版本 Mod属性还用于控制一定记录的换行,例如: 复制代码 代码如下: <volist name="list" id="vo" mod="5" > {$vo.name} <eq name="mod" value="4"

  • jquery validate在ie8下的bug解决方法

    项目用到了jquery的表单校验插件validate,之前一直都只是做很简单的校验,没有做过稍微复杂的应用,近期项目对应用的要求提高了,一个页面中有两个提交按钮,然后表单校验是绑定在按钮的点击事件上的,如下.  然后很自然的就用到了插件的valid()函数:  这个确实能达到相要的效果,但是在ie8下竟然有问题,valid()方法始终返回false,而且所有的字段都会被当成必填字段校验,纠结了好久,因为jquery的插件代码都很复杂,所以刚开始看特别费劲,后来一步一步排查,找到问题了,问题出在a

  • IE6图片加载的一个BUG解决方法

    代码如下: 复制代码 代码如下: <!--[if IE 6]><script type="text/javascript"> try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {} </script><![endif]--> 注:这个BUG以前就已经发现了,这里只是再次提出来. 更详细的说明可以参考下面的文章:IE6下默认不缓存背景图片,

  • Juqery Html(),append()等方法的Bug解决方法

    这几天在做动态加载图片热区,我用Ajax获取到了area标签,这里有多个area,在IE8和FF里测试正常,可一到IE7,和IE6里面就显示不正常了. 后来发现jquery中的append将HTML加入到标签里的方法都不好用,都会出现下面的问题 先给出我的获取热区的代码 下面是热的HTML 复制代码 代码如下: <img src="Image.aspx?reganise_id=<%=ViewState["RegionValue"]%><%=ViewSt

  • jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法

    query formValidator插件非常好用,但是有一个严重的Bug,在使用ajax验证的时候,如果输入框的内容已经存在,把鼠标放到输入框,不做任何修改再离开,则会提示错误, 这是这个插件犯的一个很愚蠢的错误 复制代码 代码如下: oneIsValid: function(id, index) { var returnObj = new Object(); returnObj.id = id; returnObj.ajax = -1; returnObj.errormsg = ""

  • PHP iconv 函数转gb2312的bug解决方法

    iconv( "UTF-8", "gb2312//IGNORE" , $FormValues['a']) ignore的意思是忽略转换时的错误,发现iconv在转换字符"-"到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存. 另外mb_convert_encoding没有这个bug,所以最好的写法是: mb_convert_encoding($FormValues['a'], "gb2312"

  • jquery ui resizable bug解决方法

    但开启 helper: 'ui-resizable-helper' 或animate: true, 时候,会发现官方的例子的宽度自动增加了10PX 仔细翻源代码一看,发现有以下问题:(如图) 竟然用padding 难怪会自动添加宽度 这个问题在ie firefox下都存在. 其中这个问题比较难发现,但你可以用以下代码测试出来: 复制代码 代码如下: <style type="text/css"> #resizable { width: 350px; height: 150p

  • ie focus bug 解决方法

    如果把input.focus()放在一个setTimeout中延时执行,则就可以获得焦点. 复制代码 代码如下: <script type="text/javascript" > (function(){ function get(id){ return document.getElementById(id); } window.onload = function(){ get('makeinput').onmousedown = function(){ var input

  • ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法

    这是一个小bug,解决方法有两种:根据做的东西不同选择不同的 <ion-nav-bar class="bar-positive"> <ion-nav-back-button class="button-icon ion-arrow-left-c"> </ion-nav-back-button> <h2>helloafds</h2> </ion-nav-bar> <ion-header-ba

随机推荐