public function executeGenerateInvoice(sfWebRequest $request) { $purchase = Doctrine_Query::create()->from('Purchase p')->where('p.id = ' . $request->getParameter('id'))->fetchOne(); //create purchase $invoice = new Invoice(); $invoice->setInvno(date('h:i:s a')); $invoice->setCustomerId(2); //cash $invoice->setIsTemporary(2); //new $invoice->setDate(date("Y-m-d")); $invoice->save(); //create purchase details foreach ($purchase->getPurchasedetail() as $purchdetail) { $invdetail = new InvoiceDetail(); $invdetail->setInvoiceId($invoice->getId()); $invdetail->setProductId($purchdetail->getProductId()); $invdetail->setDescription($purchdetail->getProduct()->getName()); $invdetail->setQty($purchdetail->getQty()); $invdetail->setPrice(0); $invdetail->setTotal(0); $invdetail->setUnittotal(0); $invdetail->save(); $invdetail->updateStockentry(); } $this->redirect("invoice/view?id=" . $invoice->getId()); }