我在 CakePHP 3.6 应用程序中有一个表对象用户,它有一个 beforeFind 回调,如下所示:
public function beforeFind(Event $event, Query $query, $options = []) {
$query->where(['Users.active']);
return $query;
}
正如您在上面看到的,这里的目的是仅获取所有查找查询的活动用户。我遇到的问题是,对于新注册的用户(直到他们确认注册后才处于活动状态),用户表上的查找查询将不起作用,因为它不会返回非活动用户。
当人们验证他们的注册时,我会在 url 中向他们发送一个代码。我想验证请求以查看代码参数是否存在,然后我不必只检查活动用户,如下所示:
public function beforeFind(Event $event, Query $query, $options = []) {
if(code parameter does not exist) {
$query->where(['Users.active']);
}
return $query;
}
但我不知道如何在我的 UsersTable 对象的 beforeFind 中获取请求参数。
请问有什么帮助吗?