我正在尝试从两个相互关联的表中删除数据,但我想知道如何在 phalcon 中更有效地编写它,因为我现在正在通过普通的 PHP 循环方法进行操作。
这是动作代码:
public function deletepollAction($pollId)
{
$poll = new Polls();
$data = $poll->findFirst($pollId);
$data->delete();
$options = PollsOptions::find();
foreach ($options as $singleoption) {
if ($singleoption->polls_id == $pollId)
{
$option = new PollsOptions();
$data = $option->findFirst($singleoption->id);
$data->delete();
}
}
$this->response->redirect("/poll");
}
我想知道在 phalcon 模型方法等中执行此操作的简洁、高效且简单的方法?
注意:如您所见,它可以工作,但问题是它与我的执行速度相混淆,即(网页的性能从一秒钟内加载到执行操作,然后重定向回页面变得更像 2 秒)正如我所说,或者更可能是从 500 毫秒到 1000 毫秒等,而我不想要。我想保持快速并在不使用循环的情况下解决这个问题,而循环又会遍历与父记录无关的记录,这会浪费时间。我的意思是我想严格地从子表中获取所有关联的记录并直接删除它们而不影响性能(时间)。