我试图在现有文章中添加新评论,我尝试了几乎所有可能的方法来添加新评论,没有找到任何有效评论,请发帖,如果有人知道如何完成此操作。
我也尝试过在cakephp 3 docs上提到的所有例子
保存关联 - > http://book.cakephp.org/3.0/en/orm/saving-data.html#saving-associations
$newData = [ 'title' => 'test', 'body' => 'test body', 'author_name' => 'test', 'author_url' => 'author_url', 'author_email' => 'author_email' ];
$newData[ 'Posts' ] = [ '_ids' => [ 1 ] ];
print_r( $newData );
$tagEntity = $this->Posts->Comments->newEntity();
$tag = $this->Posts->Comments->patchEntity( $tagEntity, $newData );
print_r( $tagEntity );
print_r( $tag );
if( $this->Posts->Comments->save( $tag ) ) {
}
,结果是
Array
(
[title] => sdsds
[body] => dsfsf
[author_name] => ss
[author_url] => author_url
[author_email] => author_email
[Posts] => Array
(
[_ids] => Array
(
[0] => 1
)
)
)
Blog\Model\Entity\Comment Object
(
[title] => sdsds
[body] => dsfsf
[author_name] => ss
[author_url] => author_url
[author_email] => author_email
[Posts] => Array
(
[_ids] => Array
(
[0] => 1
)
)
[[new]] => 1
[[accessible]] => Array
(
[*] => 1
)
[[dirty]] => Array
(
[title] => 1
[body] => 1
[author_name] => 1
[author_url] => 1
[author_email] => 1
[Posts] => 1
)
[[original]] => Array
(
)
[[virtual]] => Array
(
)
[[errors]] => Array
(
)
[[invalid]] => Array
(
)
[[repository]] => Blog.Comments
)
答案 0 :(得分:0)
最后我得到了它的工作
$data = $this->request->data;
$data[ 'posts' ] = ['_ids' => [ $post->id ] ];
$comment = $this->Posts->Comments->patchEntity( $this->Posts->Comments->newEntity(), $data, [ 'Posts' ] );
$this->Posts->Comments->save( $comment );
if( $this->Posts->save( $comment ) ) {
echo 'done';
} else {
print_r( $comment );
}