как я могу обновить модель DynamodB - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь обновить свой предмет DynamodB в laravel, используя

https://github.com/baopham/laravel-dynamodb

это моя модель;используя php artisan tinker;

атрибут, который я хочу обновить, имеет тип 'map'.

App\DynamoConfiguration {#1873
    op_city_id: 1,
    created_at: "2018-10-08T11:02:42+00:00",
    updated_at: "2018-10-08T11:11:26+00:00",
    info: [
        "shopper_logs_enabled" => "1",
    ],
}

, когда я делаю это.модель не обновляется

$dynamo_configuration = DynamoConfiguration::where('op_city_id', 1)->first();
$info = $dynamo_configuration->info;
$info['shopper_logs_enabled'] = '0';
$dynamo_configuration->update(["info" => $info]);
return $dynamo_configuration;

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Вы можете обновить атрибут карты в Eloquent Object и затем сохранить его в DynamoDB.

$dynamo_configuration = DynamoConfiguration::where('op_city_id', 1)->first();
$info = $dynamo_configuration->info;
$info['shopper_logs_enabled'] = '0';
$dynamo_configuration->info = $info;
$dynamo_configuration->save();
return $dynamo_configuration;

Редактировать: Исправлен код

0 голосов
/ 09 октября 2018

Вы можете использовать updateAsync, обновление не вступит в силу немедленно

// update asynchronously and wait on the promise for completion.
$model->updateAsync($attributes)->wait();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...