0

我想知道是否有办法从 ORM 中过滤结果。我希望为我的模型创建一个自定义方法,例如,用于过滤来自我的数据库的输出。现在,只能以表单的形式过滤来自 POST 的数据以将它们保存到数据库中,但是,我想要相反。

如果我的表中有一个名为“identification”的字段,其值为“8-985-256”,我希望该值为“08-0985-00256”(不要担心如何添加额外的零,那部分简单)。

假设我的模型上有一个名为“format_identification”的自定义方法。然后,我使用 ORM 类获取数据,如下所示:

$user = ORM::factory('user', 1);

我想回显标识,但是使用正确的格式:

echo $user->format_identification();

这应该打印“08-0985-00256”。如果我使用字段的名称,那可以,但是值的格式不是。

我希望你明白我想要做什么。

感谢您的时间。

4

2 回答 2

1

将公共方法添加到您的Model_User文件中,称为format_identification

<?php defined('SYSPATH') or die('No direct access allowed.');

class Model_User extends ORM {

    public function format_identification() {

        $identification_value = $this->identification;

        // Add the extra zeros to value

        return $identification_value;

    }

}
于 2012-08-31T11:28:46.323 回答
0

我认为有更好的方法来解决您的问题:

class Model_User extends ORM {

    public function __get($column) {
        if($column=='identification'){
         // Do your stuff
        }
        return parent::__get($column);
    }

}
于 2014-03-04T10:24:05.740 回答