Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP3在保存实体后未返回id_Php_Cakephp - Fatal编程技术网

CakePHP3在保存实体后未返回id

CakePHP3在保存实体后未返回id,php,cakephp,Php,Cakephp,插入实体后,CakePHP3不会返回id。 itemData包含一个带有字段值的数组,该行已插入数据库中。有什么想法吗 在蛋糕文档中,他说这是一种方式 谢谢 试试$this->Items->id。您仅使用对象$this->Items保存$item中的数据,因此后者将包含id。我也有这个问题 mysql:Ver 14.14发行版5.5.47,适用于使用readline 6.2的debian linux gnu(armv7l) 这是行不通的 $Location->save($ln); echo

插入实体后,CakePHP3不会返回id。 itemData包含一个带有字段值的数组,该行已插入数据库中。有什么想法吗

在蛋糕文档中,他说这是一种方式


谢谢

试试
$this->Items->id
。您仅使用对象
$this->Items
保存
$item
中的数据,因此后者将包含id。

我也有这个问题

mysql:Ver 14.14发行版5.5.47,适用于使用readline 6.2的debian linux gnu(armv7l)

这是行不通的

$Location->save($ln);
echo $Location->id;  // error
$L=$Location->save($ln);
echo $L->id;
这起作用了

$L=$Location->save($ln);
echo $L->id;
我不能像Cakephp 3.x手册那样运行( 它可能取决于MySQL服务器版本。 因为在我的另一台电脑里,它工作了。。 c:\xampp\mysql\bin\mysql.exe版本14.14发行版5.6.20,适用于Win32(x86)

这工作

$Location->save($ln);
echo $Location->id;  // error
这不起作用

$Location->save($ln);
echo $Location->id;  // error
$L=$Location->save($ln);
echo $L->id;

检查相关的表。它有自动增量id吗?谢谢,我解决了这个问题,添加:$this->primaryKey('id'));但我现在不明白为什么不自动检测此字段。我认为我的mysql表结构存在问题。如果主键列名为'id',则应该确定这一点。第一个问题是,您的表项类是什么样子的?按照惯例,名称应该是ItemsTable。在mysql命令行中,当您执行“SHOW CREATE TABLE Items”是什么样子的?你可以用这些信息更新你的问题,这可能有助于确定什么不起作用。@gview实际上它是由主键约束决定的,名称无关紧要。这样做。
if($item=$this->Items->save($item)){print\r($item->id);}
。它不显示id,因为实体在保存之前没有id。。