当我使用cakephp以这种方式插入记录时,我如何获得插入的id $ this-> query(“insert into [tablename]([colname])values([colvalue]);
答案 0 :(得分:3)
假设您使用的是MySQL,则可以在执行插入后执行以下查询:
$array_with_id = $this->query('select last_insert_id() as id;');
但正如kouak所提到的,插入数据的常用方法是使用save()方法。如果您使用此方法,则插入记录的ID将自动在相应模型的$ id属性中可用。
答案 1 :(得分:3)
如果你使用save()方法,你可以得到这样的id:
$this->Model->save($data);
$id = $this->Model->id;
答案 2 :(得分:2)
Cake的模型类有一个函数可以获取最后插入的id:
$this->Model->getLastInsertID()
{project-folder} /cake/libs/model/model.php中的第2584行
答案 3 :(得分:0)
请使用此方法获取cakephp2中的最后一个插入ID
$data['yourModelName']['yourTableField'] = POstdata
$data['yourModelName']['yourTableField'] = time();
$data['yourModelName']['yourTableField'] = 1;
$data['yourModelName']['yourTableField'] = time();
$this->yourModelName->create();
$this->yourModelName->save($data,false);
$sessionInserted_id = $this->yourModelName->getInsertID();