Laravel Mongodb JSON поле Обновление - PullRequest
0 голосов
/ 03 июля 2018

Я хочу обновить таблицу пользователей в Laravel. Я использую MongoDB в качестве базы данных.

Поле JSON моей таблицы пользователей, которое я хочу обновить:

   "experience" : [
                "{\"1\":{\"name\":\"My First Company Experience\",\"description\":\"this is exp\"}}",
                "{\"2\":{\"name\":\"Second\",\"description\":\"here is second\"}}"
        ]

Я хочу обновить поле опыта

Я использую обновление Laravel:

    $id = Auth::user()->_id;
    $name = $request->get('name');
    $description = $request->get('description');
    $flag = $request->get('flag');
    $a[$flag] = array('name' => $name, 'description' => $description );
    $c = json_encode($a);
    User::where('_id', $id)->update(['experience.1' => $c]);

Но это не работает. Это вставка опыта1 как нового поля. Я хочу обновить опыт1 и expereince2 кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 17 июля 2018

Есть определенные ошибки, которые вы сделали, вот решение:

$id = \Auth::user()->_id;
$name = $request->get('name');
$description = $request->get('description');
$flag = $request->get('flag');
$a[$flag] = array('name' => $name, 'description' => $description );
$c = json_encode($a);
$data = User::find($id);
$data->experience.1=$c;
$data->save();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...