CakePHP 3没有保存hasOne关联

时间:2015-08-29 17:44:34

标签: cakephp cakephp-3.0

我有两个模型 - evalCars

CarOptions hasOne Cars

如果用户要编辑汽车 - 他们也可以设置一些CarOptions并保存

CarOptions相关的所有内容都保存得很好,但Cars无法保存。如果我在保存之前调试CarOptions对象 - 我看到以下

Car

我要保存的代码如下

Car: {
    "id": 3,
    "name": "Ford Mustang",
    "description": "some description",
    "city": "San Francisco",
    "state": "California",
    "country": "USA",
    "created": "2015-08-14T12:20:14-0500",
    "CarOptions": {
        "manual_transmission": "N"
    }
}

但是,未创建或编辑CarOptions记录。我错过了什么?

1 个答案:

答案 0 :(得分:6)

您未正确遵守惯例,请参阅

<强> Cookbook > Database Access & ORM > Saving Data > Saving HasOne Associations

  

当保存hasOne关联时,ORM需要在关联名称的单数下划线版本中使用单个嵌套实体。 [...]

因此,对于名为CarOptions的关联,要使用的属性应为car_option

另请注意,如果您想让用户选择该选项及其值,那么就像您一样对其进行硬编码并不是真正的方法,而是在请求数据中正确传递它,让编组人员去做实体&#34;修补实体时的转换。

另见