这里我已经使用cakephp js helper发送数据,插入一个数据后,我需要这个最后的id为进一步的工作。这里我已经尝试在Addcontroller中的below代码
if ($this->Patient->save($this->request->data)) {
$lastid=$this->Patient->getLastInsertId();
$patient=$this->Patient->find('all',array(
'conditions'=>array('Patient.id'=>$lastid ),
'recursive' => -1
));
$this->set('patient', $patient);
}
在add.ctp中,我已经尝试了下面的代码,但我还没有得到最后的id在这里。
<?php foreach ($patient as $patient): ?>
<?php echo h($patient['Patient']['id']); ?>
<?php endforeach; ?>
3条答案
按热度按时间fkvaft9z1#
方法
getLastInsertId()
返回刚刚保存的记录的id。如果在保存后视图中需要该id,则必须首先在控制器中设置该变量(如
$this->set(compact('lastid','patient');
),然后在视图中使用<?php echo $lastid; ?>
xu3bshqb2#
使用了
然后,您还需要更新js AJAX 调用,您将有一个json数组需要解码,因此使用jquery解析它并将其追加回视图中。
Cake总是会给予你刚刚保存的记录的id,只需添加$id = $this-〉MyModel-〉id;您可以使用id来查询记录。
rxztt3cl3#
请尝试以下代码:
1.在控制器中:
然后在视图文件中使用
$lastid
。1.在控制器中:
然后在视图文件中使用
$patient['Patient']['last_id']
。