我正在研究CRUD文档,但不知怎么的,我错过了重点。我想在index()
操作中实现不同的WHERE
条件,这取决于我从URL中获得的一些参数。
阅读https://crud.readthedocs.io/en/latest/events.html对我没有什么帮助。我在index()
函数中尝试了以下非常简单的代码:
public function index()
{
$this->Crud->on('beforeFilter', function(\Cake\Event\EventInterface $event) {
$event->getSubject()->query->where([ "partner_type" => "AGENT" ]);
});
return $this->Crud->execute();
}
这意味着,index
操作的每次调用都应添加WHERE
条件partner_type = 'AGENT'
,并仅返回那些行,但会返回所有行。
我误解了什么?
1条答案
按热度按时间k4ymrczo1#
正确的事件是
beforePaginate
-请参阅Github处的答案: