用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4744|回复: 13
收起左侧

[已解决] 控制器里面调用model里的一个自定义函数,参数怎么引用?

[复制链接]
发表于 2010-10-25 13:32:03 | 显示全部楼层 |阅读模式
写了一个比较日期时间的自定义函数..参数需要调用数据库里一个日期字段.

$data['compare_time'] = $this->Member->compare_time($time);

这里的$time 是循环出来的一个字段值.怎么引用?
发表于 2010-10-25 13:37:36 | 显示全部楼层
传递你得到的member的集合进去遍历比较
 楼主| 发表于 2010-10-25 13:44:50 | 显示全部楼层
传递你得到的member的集合进去遍历比较
ywqbestever 发表于 2010-10-25 13:37


比较菜.能给个稍微具体点的伪代码吗?

function get_my_blog(){
                $query = $this->db->query("select aid,uid,title,addtime from home_blog where uid = $_SESSION[uid]");
                $row = $query->result_array(); //生成查询结果
                return $row;
               
        }
compare_time($time)中的$time需要引用上面的addtime
发表于 2010-10-25 13:48:40 | 显示全部楼层
可以这样的吗
PHP复制代码
 
function get_my_blog(){
                $query = $this->db->query("select aid,uid,title,addtime from home_blog where uid = $_SESSION[uid]");
                $row = $query->result_array(); //生成查询结果
 
              $row['compare_time'] = $this->compare_time($row['time']);//加这句
 
                return $row;
               
        }
 
复制代码
 楼主| 发表于 2010-10-25 13:56:02 | 显示全部楼层
可以这样的吗
jeongee 发表于 2010-10-25 13:48


我也是这样的.
$row['time'] = $this->compare_time($row['addtime']);
但是会有notice提示
Message: Undefined index
都试了啊
发表于 2010-10-25 14:15:34 | 显示全部楼层
$row有值吗?
 楼主| 发表于 2010-10-25 14:25:04 | 显示全部楼层
$row有值吗?
jeongee 发表于 2010-10-25 14:15


肯定有值的..
用一个很愚蠢的方法解决了.
单独重写了一个函数 把addtime字段循环出来.然后调用 比较函数.
而且要自己写while循环才可以.

function get_my_blog_time(){
                $query = mysql_query("select addtime from home_blog where uid = $_SESSION[uid]");
                while ($row = mysql_fetch_array($query)){
                         $row['addtime'] = $this->compare_time($row['addtime']); //这里变一下 然后控制里调用 view再做输出.
                         return $row['addtime'];
                }
        }

很笨,但是至少能解决吧.希望有更合理的办法.
 楼主| 发表于 2010-10-25 14:36:53 | 显示全部楼层
肯定有值的..
用一个很愚蠢的方法解决了.
单独重写了一个函数 把addtime字段循环出来.然后调用 比较函数. ...
fly0222 发表于 2010-10-25 14:25



echo出来对了.  到页面循环还是不太好弄.唉.不知道怎么搞了.
发表于 2010-10-25 14:42:58 | 显示全部楼层
本帖最后由 jeongee 于 2010-10-25 14:44 编辑

应该这样写,大意了
$row[0]['compare_time'] = $this->compare_time($row[0]['time']);//加这句
 楼主| 发表于 2010-10-25 14:51:08 | 显示全部楼层
应该这样写,大意了
$row[0]['compare_time'] = $this->compare_time($row[0]['time']);//加这句 ...
jeongee 发表于 2010-10-25 14:42



快接近了.看了print出来的数组结构.这样加就对了.

但是如何搞出循环?
加一个:    $row[0]['compare_time'] = $this->compare_time($row[0]['addtime']);
加第二个  $row[1]['compare_time'] = $this->compare_time($row[1]['addtime']);

怎么遍历?

本版积分规则