我想從兩個相互關聯的表中刪除數據,但我想知道如何在phalcon中更高效地編寫數據,因爲我現在正在通過正常的PHP循環方法執行此操作。這個控制器操作如何有效地在phalcon中編寫得更多?
這裏是行動代碼:
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");
}
我想知道一個整潔,高效和簡便的方法在爾康模型等方法來做到這一點?
注意:它的工作原理你可以看到,但問題是它與我的執行速度混亂(即網頁的性能從一秒鐘加載執行操作,然後重定向回頁面更像是2秒),正如我所說的,或者從500毫秒到1000毫秒的可能性更大,而且我不想要。我想保持快速的速度並解決這個問題,而不使用循環,循環又循環遍歷與父記錄無關的記錄,從而浪費時間。 我的意思是我想要嚴格地從子表中獲取所有關聯的記錄,並直接刪除這些記錄而不影響性能(次)。
這個問題可能是更適合於[代碼審查(http://codereview.stackexchange.com) –
@RobbieAverill:謝謝對於你的建議,我不知道Code Review,如果我認爲我可能很快會在這裏得到答案,那會是真的嗎? –
您可以這樣做,但除非您的代碼有問題,否則此問題可能會以「脫離主題」的方式關閉。 –