这是我的 4 美分半....
我看到这个工作的唯一方法是你通过模型->搜索可以访问的非 AJAX 提交过程存储你的“向导”值(我在想 $_SESSION 但不知道这是否可行) () 函数,在过滤/搜索的所有实例中调用,并将它们添加到搜索条件中。
显然,以下内容对您没有帮助,但可能会更多地解释我在类似情况下所做的事情。默认情况下,我想限制某些类型用户的大表视图,但限制并不像只显示单个用户 ID 的条目那么简单。一旦用户过滤数据,他们就可以访问那里的所有基础数据。
我最终做的是检测他们是否过滤了我用来限制数据的任何列,如果是,则应用用户提交的过滤器,或者如果没有,则在同一列上应用我自己的限制过滤器。因此,对于我想要应用它的每一列,我会在 model->search() 函数中执行类似的操作,同时检测此默认限制是否应该适用于相关用户:
if(isset($this->A_DB_Column_Name) && in_array($this->A_DB_Column_Name,array(default limitation))) {
$criteria->compare('A_DB_Column_Name',$this->A_DB_Column_Name,false);
} else {
$criteria->compare('A_DB_Column_Name',array(default limitation),false);
}