Laravel обновить несколько массивов запросов - PullRequest
0 голосов
/ 19 марта 2019

Я действительно борюсь с этим методом обновления, любая помощь будет с благодарностью оценена.

Я отправляю несколько автомобильных номерных знаков, которые связаны с резидентом, я могу успешно сохранить и получить их,теперь я хочу обновить его.

когда я возвращаюсь или dd на $request->cars, он дает мне этот массив.

array:2 [
0 => array:5 [
"id" => 10
"user_id" => 33
"car_number_plate" => "12f3456"
"created_at" => null
"updated_at" => null
]

1 => array:5 [
"id" => 11
"user_id" => 33
"car_number_plate" => "abc -123"
"created_at" => null
"updated_at" => null
]   
]

Здесь я нахожу связанный идентификатор, который необходимо обновить

$userId = ResidentCar::where('user_id', $resident->id)->pluck('id')
->toArray();

возвращает этот массив.

array:2 [
0 => 10
1 => 11
]

Здесь я перебираю массив и пытаюсь его обновить.

$input = $request-cars;

foreach ($input as $row)
{
$cars[] = [
    'user_id' => $resident->id,
    'car_number_plate' => $row['car_number_plate'],
];
}

ResidentCar::whereIn('id', $userId)->update(array($cars));

он выдает эту ошибку,Array to string conversion.

и если сделать это с

ResidentCar::whereIn('id', $userId)->update($cars);

, то выдает эту ошибку.

Column not found: 1054 Unknown column '0' in 'field list' (SQL: update `resident_cars` set `0` = 33, 

Может кто-нибудь здесь, пожалуйста, помогите, как ее решить, или любойлучше подойди к этому.

1 Ответ

0 голосов
/ 19 марта 2019

Как я уже сказал в комментарии, вам нужно сделать одно обновление на строку.

Если строка, которую вы хотите обновить, - это $resident->id, а данные, которые вы хотите обновить, - $row['car_number_plate'], вам нужно сделать следующее:

$input = $request-cars;
foreach ($input as $row) {
  $data = [
    'car_number_plate' => $row['car_number_plate'],
  ];
  ResidentCar::where('id',$resident->id)->update($data);
}

Дайте мне знать, если работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...