如何在 zf2 中获取最后插入的 id?
Posted
技术标签:
【中文标题】如何在 zf2 中获取最后插入的 id?【英文标题】:How to get last inserted id in zf2? 【发布时间】:2014-04-07 08:47:15 【问题描述】:我是 zf2 的新手。我进行了创建操作并希望获得最后插入的 id,但 calender_id 始终等于零。如何在创建操作中获取最后一个插入 ID?
这是我的代码:
public function createAction()
if ($this->zfcUserAuthentication()->hasIdentity())
$form = new CalendarForm();
$form->get('user_id')->setValue($this->zfcUserAuthentication()->getIdentity()->getId());
$form->get('submit')->setValue('Add');
$request = $this->getRequest();
if ($request->isPost())
$calendar = new Calendar();
$form->setInputFilter($calendar->getInputFilter());
$form->setData($request->getPost());
if ($form->isValid())
$calendar->exchangeArray($form->getData());
$this->getCalendarTable()->saveCalendar($calendar);
if($request->isXmlHttpRequest())
//$dm = $this->getServiceLocator()->get('doctrine.documentmanager.odm_default');
//$calender = new \Calendar\Model\Calendar($dm);
$response = new Response();
$calender_id = $calendar->calendar_id;
$userid =$calendar->user_id;
$title=$calendar->title;
$description=$calendar->description;
$output = array('success' => true, 'calendar_id' => $calender_id, 'user_id' => $userid, 'title' => $title, 'description' => $description);
//$response->headers->set('Content-Type', 'application/json');
$response->setContent(json_encode($output));
return $response;
return $this->redirect()->toRoute('calendar');
return array('form' => $form);
else
$this->redirect()->toRoute('zfcuser/login');
我如何获得最后插入的 id?
【问题讨论】:
【参考方案1】:如果您的 calendarTable 扩展 TableGateway,您可以使用 $calendarTable->getLastInsertValue()
获取最后一个插入 ID。您也可以在 saveCalendar
方法中使用此方法。
【讨论】:
以上是关于如何在 zf2 中获取最后插入的 id?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python Cassandra 中获取最后插入的 id?
如何在 Eloquent ORM laravel 中获取最后一个插入 ID