Codeigniter 2在循环中使用库

时间:2011-12-09 00:01:25

标签: php codeigniter twig

我遇到了一个问题,我一直在讨论这个问题。我需要一些关于最佳方法的建议。

我有一个从我的模型中获取数据的循环,但在该循环中,我必须针对库进行验证,但我似乎无法找到一个好方法。

例如,我得到了一个类似于此的模型方法:

public function GetUserList() {

    $this->db->select('username, email, joindate, rank')->from('user');
    $query = $this->db->get();

   //loop through data and bind to an array.
   foreach ($query->result() as $row) {
        $users[] = $row;
    }

    return $users;
}

当页面加载时,用户将看到用户列表及其信息,但有些用户不希望显示他们的电子邮件地址,然后我们必须使用用户库来获取该用户的设置并查看如果我们应该隐藏该电子邮件。

我找到的唯一解决方案是使用辅助功能作为绕道而行,但我觉得这将会让我在将来重复这样的事情。

我发现的另一个问题是,一旦你创建了库,它就不会以新的方式重新启动对象(就像在vanilla PHP中那样)。

我希望有人能够很好地解决这样的挫折。

最后一项,如果它有所不同,我也使用Twig来处理我的观点。

2 个答案:

答案 0 :(得分:1)

您无需使用load()功能加载每个库文件。 load()函数用于在全局(CI)命名空间中加载单个实例。如果你想使用一组对象,你应该像在PHP中一样require文件。

答案 1 :(得分:0)

如果可能,我会亲自加入您的偏好表。这样,您就不必为每个用户单独进行查询。