cakephp - 触发 - 执行查询后

时间:2015-12-26 11:46:01

标签: php cakephp cakephp-2.0

如何在所有查询中更改模型的输出?

这意味着查询在此模型上运行,然后转到特定函数。

例如,在用户模型中,如何删除所有查询的密码字段

感谢

1 个答案:

答案 0 :(得分:6)

将以下内容添加到您的模型中:

public function afterFind($results, $primary = false){
    foreach ($results as $key => $val) {
        unset($results[$key][$this->alias]['password']);
    }

    return $results;
}

这也应该有效:

public function afterFind($results, $primary = false){
    return Hash::remove($results, '{n}.'.$this->alias.'.password');
}