我也检查了这个问题和这个问题。我正在尝试实现这个问题中描述的模型。
我想要做的是,在消息控制器的添加功能上,在线程表中创建一条记录(该表只有一个主键和自动增量字段),然后将其 id 插入到消息表中我已经拥有的用户 ID,然后将其保存在 message_read_state 和 thread_participant 表中。
这就是我在线程模型中尝试做的事情:
function saveThreadAndGetId(){
//$data= array('Thread' => array());
$data= array('id' => ' ');
//Debugger::dump(print_r($data));
$this->save($data);
debug('id: '.$this->id);
$threadId = $this->getInsertID();
debug($threadId);
$threadId = $this->getLastInsertId();
debug($threadId);
die();
return $threadId;
}
$data= array('id' => ' ');
上述函数中的这一行在线程表中添加了一行,但我无法检索 id。有什么办法可以获取id,还是我保存错误?
最初我在消息控制器中做查询:
$this->Thread->query('INSERT INTO threads VALUES();');
但后来我发现 lastId 函数不适用于手动查询,所以我恢复了。