如何解决Cakephp请求操作使我永无休止的请求循环
| 我有一个带有requestAction的元素,但它给了我一个永无止境的请求循环。 例如: 这是我的要素<?php $plans = $this->requestAction(\'profile/Plans\'); ?>
<?php foreach($plans as $plan): ?>
<div class=\"notificationsmall <?php echo $plan[\'sections\'][\'lable\']; ?>\">
<p><b><?php echo $plan[\'plans\'][\'plan_title\']; ?></b></p>
<p><?php echo $plan[\'plans\'][\'plan_description\']; ?></p>
</div>
<?php endforeach;?>
这就是那个功能。它在“个人资料”控制器中
function Plans($id = Null){
$this->set(\'plans\',$this->Plan->Query(\'SELECT * FROM plans,sections WHERE plans.user_id=\'.$id.\' AND sections.id=plans.section_id\'));
}
我不知道怎么了。
解决方法
第一部分代码是配置文件/计划视图吗?如果是这样,则会出现无限循环,因为视图再次调用概要文件/计划操作,并返回到视图中的同一点,依此类推。
从代码来看,我认为您对元素的工作方式有一些误解。需要插入元素时,而不是在元素本身内部,应使用requestAction。
(我同意Dunhamzzz的观点,应避免使用requestAction,但有时是不可能的。您应考虑在这种情况下使用实际元素是否可行。)
,问题是您正在使用RequestAction!不惜一切代价避免它。您应该在Planning模型中创建一个方法,该方法基本上返回您正在执行的查询的内容,例如
function getByUserId($userId) {
return $this->find(\'all\',array(\'conditions\' => array(\'Plan.user_id\' => $userId)));
}
然后在行动中,只要做$this->set(\'plans\',$this->Plan->getByUserId($userId));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。