#laravel #mongodb #eloquent
#laravel #mongodb #eloquent
Вопрос:
У меня есть приложение с laravel и mongodb. С помощью elequent я пытаюсь добавить новое значение к массиву, хранящемуся в поле.
Итак, это пример документа. Я пытаюсь добавить новое значение в поле projects.
{
"_id":{
"$oid":"5f80513714450000a6007c90"
},
"organization_id":"5f80304214450000a6007c81",
"user_id":"5f80513714450000a6007c8f",
"status":true,
"role_id":"5c148783fe412ba8333074ec",
"company_id":"5f80511f14450000a6007c8e",
"updated_at":{
"$date":"2020-11-09T18:42:03.000Z"
},
"created_at":{
"$date":"2020-10-09T12:01:59.000Z"
},
"projects":[
"5fa33513416100008d0070ba",
"5f80429814450000a6007c85",
"5f80436714450000a6007c86"
]
}
в моей модели я создал этот метод
public function push_user_projects($data, $where_data) {
return UserAccountsModel::where($where_data)->put($data);
}
where_data работает хорошо. Метод находит правильные документы для обновления.
Но то, что не работает, — это нажимная часть. Следующее — это то, что я ввел в параметр data
$data = array(
'projects' => array(
$projectData["_id"]
)
);
И когда я вижу результат, совершенно новый массив обновил поле проектов новым значением. Но я хочу добавить значение к существующему массиву. Может ли кто-нибудь мне помочь?
Ответ №1:
Чтобы вставить другой элемент в вашу переменную данных в разделе «проекты»
$data['projects'][] = $projectData["_id"];
Комментарии:
1. Переменная данных уже хороша. Я пытаюсь вставить значение в переменную данных внутри моего поля документа mongodb с помощью моей модели eloquent