我是一个没有太多编码经验的 cakephp 初学者。我正在尝试有条件地在 '$this->paginate()' 函数上分配空数组,但它不起作用。以下是我在 LogsController 中的部分代码:
if ($privacyVisible['Title']['privacy'] == 1) {
$this->Log->recursive = 0;
$this->paginate = array(
'limit' => 10,
'order' => array(
'Log.id' => 'desc'
), 'conditions' => array('Title.slug' => $id));
$this->set('logs',$this->paginate());
} else {
$this->Log->recursive = 0;
$this->paginate = array(
'limit' => 10,
'order' => array(
'Log.id' => 'desc'
), 'conditions' => array('1' => '2'));
$this->set('logs',$this->paginate()); //here it should be empty
}
但在我看来,在做 debug($logs); 之后 在应用 else 条件时,即隐私 = 零,我将返回所有值,如下所示:
app\View\Logs\index.ctp(第 10 行)
Array
(
[0] => Array
(
[Log] => Array
(
[id] => 114
[title_id] => 16
[body] => hi!
[time] => 2011-11-15 21:19:10
)
[Title] => Array
(
[id] =>
[user_id] =>
[logname] =>
[slug] =>
[privacy] =>
)
)
[1] => Array
(
[Log] => Array
(
[id] => 113
[title_id] => 14
[body] => hey!
[time] => 2011-11-15 20:52:52
)
[Title] => Array
(
[id] => 14
[user_id] => 7
[logname] => college
[slug] => college
[privacy] => 1
)
)
[2] => Array
(
[Log] => Array
(
[id] => 112
[title_id] => 12
[body] => hey hi.
[time] => 2011-11-15 20:51:19
)
[Title] => Array
(
[id] =>
[user_id] =>
[logname] =>
[slug] =>
[privacy] =>
)
)
[3] => Array
(
[Log] => Array
(
[id] => 111
[title_id] => 12
[body] => that will be great.
[time] => 2011-11-15 20:51:13
)
[Title] => Array
(
[id] =>
[user_id] =>
[logname] =>
[slug] =>
[privacy] =>
)
)
)
如果它是一个空数组,我愿意在 if(empty($logs)) 上对其进行测试并显示“不允许您”。但目前似乎很难。任何猜测,这里有什么问题?