在POST上找不到Apigility DB连接的REST项目

时间:2015-03-06 21:30:52

标签: php post apigility

我刚刚确定了数据库连接服务。我更改了实体标识符名称以匹配我的表,添加了三个字段(一个是标识符)并进行了一些长度验证。到目前为止,没有进一步的变化,如此好,我可以get/get/:id没有问题。

问题来自半个帖子。 帖子会在表格中插入,但我的回复是 404找不到项目。当我尝试发布相同的数据时,我得到了重复的密钥错误。

我不明白插入后未找到的错误。我错过了什么吗?

更新3/9

阅读一些帖子和小组我可以将问题缩小到zf-apigility/src/DbConnectedResource.php

public function create($data) {
    $data = $this->retrieveData($data);
    $this->table->insert($data);
    $id = $this->table->getLastInsertValue();
    return $this->fetch($id);
}

由于我的db是mysql而我的主键是一个字符串我相信getLastInsertValue()尝试int id。

我发现的解决方案与使用apigility提供的功能/序列的postrgress db有关,但我认为应该有一种更简单的方法来解决这个问题。 Apigility - Features

我正在寻找一种方法来指定获取最后一次插入值确认的方法或从DbConnectedResource.php继承并重新实现create($data)方法。

我知道这应该在API/config/module.config.phpservice_manager下进行配置,但我们并不知道如何。

0 个答案:

没有答案