- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 CakePHP 的新手,在获取最后插入的 ID 时遇到了问题。我的架构如下:
CREATE TABLE IF NOT EXISTS `markets` (
`id` int(11) NOT NULL,
`name` varchar(20) NOT NULL,
`region_code` varchar(5) NOT NULL,
`country_code` varchar(255) NOT NULL,
`language` varchar(255) NOT NULL,
`default_language` varchar(10) NOT NULL,
`created` datetime NOT NULL,
`modified` datetime NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
ALTER TABLE `markets`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `region_code` (`region_code`),
ADD KEY `locale` (`country_code`),
ADD KEY `language` (`language`);
ALTER TABLE `markets`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=8;
这是我的逻辑:
$this->loadModel('Market');
if( isset($this->request->data['Market']) ) {
$this->Market->set($this->request->data);
if( $this->Market->validates() ) {
$this->Market->save($this->request->data);
echo $this->Market->id; //displays zero
echo $this->Market->getLastInsertID(); //also displays zero
}
}
尽管在 MySQL 中一切看起来都不错,因为 id 会按预期自动递增。
附言我刚刚插入了另一条记录,这是返回的内容:
array (size=1)
'Market' =>
array (size=8)
'name' => string 'Japan' (length=5)
'region_code' => string 'JP' (length=2)
'country_code' => string 'JP' (length=2)
'language' => string 'ja_JP' (length=5)
'default_language' => string 'ja_JP' (length=5)
'modified' => string '2015-04-23 09:11:34' (length=19)
'created' => string '2015-04-23 09:11:34' (length=19)
'id' => string '0' (length=1)
好的,所以现在我只是向市场模型添加了一个名为“getMarketLastInsertId”的函数,该函数将“country_code”(表中的唯一键)作为参数并返回最后一个 ID...谢谢
最佳答案
在你显示的建表语句中
`id` int(11) NOT NULL,
实际上应该是
`id` int(11) NOT NULL AUTO_INCREMENT,
id
是一个自增字段。所以我怀疑你关于字段被自动增量值填充的说法。
关于php - CakePHP getLastInsertId() 返回零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29823934/
如果我保存模型,getLastInsertId() 是否会出现?返回最后一个插入 ID 还是从我刚刚保存的行中返回 ID。换句话说,如果我这样做: $this->Model->save($this->
这段代码: foreach ($arrays as $array){ $this->Model->set('bla', $array['key1']); $this->Model->s
我是 CakePHP 的新手,在获取最后插入的 ID 时遇到了问题。我的架构如下: CREATE TABLE IF NOT EXISTS `markets` ( `id` int(11) NOT
我正在使用 Ormlite 插入一条记录,如下所示: public static Address Add(Address model) { using (IDbConnecti
如果我在 save() 之后立即执行 getLastInsertId() ,它会起作用,但否则不会。这在我的 Controller 中得到了演示: function designpage() {
首先,我应该提一下,我正在使用 WebMatrix(cshtml 文件)的 C#.NET 网页环境中工作。 如果重要的话,我也在使用 SQL Server Express 2014。 在过去的几天里,
我是一名优秀的程序员,十分优秀!