У меня есть модель Новости с embedsMany модели Comment и в модели комментарий У меня embedsMany модель ОтветитьLaravel MongoDB поместить его объект поместить его объект
когда я делаю это:
$new = News::create(["title"=>"Simple new", "body"=>"this is a simple news"]);
$comment = $new->comments()->create(["subject"=>"comment 1", "body"=>"my comment"]);
Вставить ОК и данные в БД:
{
"title" : "Simple new",
"body" : "this is a simple news",
"_id" : ObjectId("5569b157bed33066220041ac"),
"comments" : [
{
"subject" : "comment 1",
"body" : "my comment",
"_id" : ObjectId("5569cc28bed330693eb7acd9")
}
]
}
но когда я делаю это:
$reply = $comment->replies()->create(["subject"=>"reply to comment 1", "body"=>"my reply"]);
БД:
{
"title" : "Simple new",
"body" : "this is a simple news",
"_id" : ObjectId("5569b157bed33066220041ac"),
"comments" : [
{
"subject" : "comment 1",
"body" : "my comment",
"_id" : ObjectId("5569cc28bed330693eb7acd9"),
"replies" : {
"0" : {
"subject" : "reply to comment 1",
"body" : "my reply",
"_id" : ObjectId("5569cc33bed330693eb7acda"
}
}
}
]
}
и удалить ответ не работает
А что если вы _force_ создания массива при вставке комментария: '$ комментарий = $ New-> комментарии() -> создать ([» subject "=>" comment 1 "," body "=>" my comment "," replies "=> []]);'? –
@SylvainLeroux, которые сохраняют ok, но в этой форме я не могу использовать функции библиотеки # jenssegers-mongodb, поэтому метод удаления все равно не работает –
Не могли бы вы объяснить, что «метод удаления все еще не работает» _: есть ли какое-то сообщение об ошибке ? Или ответ просто не удаляется? Возможно, данные по-прежнему не сохранены в правильном формате? Я не знаю Laravel, поэтому я не могу вам помочь, но, может быть, стоит показать нам, что вы пытались удалить ответ? На данный момент трудно сказать (по крайней мере, для меня), если у вас есть проблема, когда вы вставляете свои данные или когда вы их делите ... –