【发布时间】:2017-07-25 05:05:20
【问题描述】:
我有一个 CakePHP 模型,其中一个 Job 有很多员工,一个 Employee 属于一个 Job。我用来编辑工作和员工的视图是工作视图。这是来自我的作业控制器的代码:
$job = $this->Jobs->get($id, [
'contain' => ['Employees']
]);
if ($this->request->is(['patch', 'post', 'put'])) {
$req = $this->request->data;
$job = $this->Jobs->patchEntity($job, $req, [
'validate' => false,
'associated' => ['Employees']
]);
$saveResult = $this->Jobs->save($job, [
'validate' => false,
'associated' => ['Employees']
]);
$this->request->数据如下:
'employees' =>[
0 => [
'id' => 1,
... etc ...
当我添加员工时,$this->request->data 有更多的数组元素,补丁会将新记录添加到员工表中。
当我删除员工时,$this->request->data 的数组元素更少。但补丁不会删除任何记录。 (当数据返回时,我正在使用 array_values 修复数组排序)。
当请求中的记录较少时,有没有办法让补丁删除记录?
如果没有,最好的删除方法是什么?
【问题讨论】:
-
您的
Employees关联配置是什么样的? -
@swmcdonnell,你有办法解决这个问题吗?请尽快告诉我
标签: cakephp orm associations cakephp-3.0