我有一個hasMany
關係記錄(假設Post
的hasMany Comments
)節約的hasMany隨時補充,而不是更新
我想同時編輯Post
,並在同一時間
我的代碼現有Comment
edit.ctp
文件
我做
<?= $this->Form->create($post); ?>
<?= $this->Form->input('title'); ?>
<?= $this->Form->input('title'); ?>
<?= $this->Form->input('text'); ?>
<?= $this->Form->input('comments.0.id'); ?>
<?= $this->Form->input('comments.0.text'); ?>
,並在我的PostsController
$post= $this->Posts->get($id);
$post= $this->Posts->patchEntity($post, $this->request->data, ['associated' => ['Comments']]);
我的問題
現在我期待的評論將被更新,而不是蛋糕增加了每一次新的註釋。
我做了什麼
我試圖調試$this->request->data
和我
[
'text' => 'This is a test',
'comments' => [
(int) 0 => [
'id' => '168',
'text' => 'Comment test',
]
]
]
,但如果我調試$post
我得到
object(App\Model\Entity\Post) {
/* ... */
'comments' => [
(int) 0 => object(App\Model\Entity\Comment) {
'text' => 'Comment test',
'[new]' => true,
'[accessible]' => [
'*' => true
],
'[dirty]' => [
'text' => true
],
/* ... */
}
],
/* ... */
'[dirty]' => [
'comments' => true,
],
}
那麼,爲什麼評論被標記爲「新'時,我將其id
傳遞給控制器?
當然這是一個超過我的實際情況的簡化版本。也許問題不在上面的代碼中,我必須在其他代碼中查找其他地方。
我在這裏的問題是,如果我正在做一些基本的方法錯誤。
您可以刪除保存新的舊記錄。 –