cakephp - 不要在 CakePHP 中显示某些记录

标签 cakephp find conditional-statements

我想从我的基地返回一些记录(例如用户角色) 而且我通常使用函数 find()、findAll() 等,而且我总是必须这样写“条件”:不显示角色 admin (name!=admin)。 我的问题是,如何在 RoleModel 中为所有函数设置返回此条件。

对不起英语!

再见!

最佳答案

使用 beforeFind() ( http://book.cakephp.org/view/680/beforeFind ) 回调来处理这类事情。这是我不时使用的一个,可确保只返回事件记录:

function beforeFind( $queryData )
{
  $conditions = $queryData['conditions'];

  if( !is_array( $conditions ) ) {
    if( !$conditions ) {
      $conditions = array();
    } 
    else {
      $conditions = array( $conditions );
    }
  }

  if( !array_key_exists( $conditions, 'active' ) && !isset( $conditions[$this->alias . '.active'] ) ) {
    $conditions[$this->alias . '.active'] = 1;
  }

  return true;
}

这有点过时了,所以语法可能不准确,但它应该给你一些东西开始。我认为一切都井井有条,也许除了几个函数调用中的参数顺序。反正应该很近了。

关于cakephp - 不要在 CakePHP 中显示某些记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2336544/

相关文章:

sql - 是否可以在 Oracle SQL 中将 CASE 与 ANY() 一起使用?

javascript - TCPDF,无法在 cakephp 中包含外部 javascript 文件

php - 如何使用cakephp在另一个 View 中调用 View

regex - 在文件和输出文件名中搜索具有特定文本的行(文件命令和 grep)

c# - lambda 表达式中的语句和返回 lambda

r Shiny 的条件显示

php - Sphinx 重新启动搜索恶魔问题以重新索引 Delta 索引

php - 如何在 Cakephp 的 RESTful api 的 url 中提供字符串?

java - 使用java在文本文件中查找字符串的最快方法

string - Lua - 获取 indexOf 字符串