Как переместить данные из одной таблицы в другую?

У меня есть изображения в других таблицах с идентификатором, и я хочу переместить изображения из идентификатора в другую таблицу. У меня есть разделенные запятыми идентификаторы в переменной $ image_url как 1,2. Я хочу переместить изображения с идентификатором 1 и 2 в другую таблицу. Как я могу это сделать?

  $image_url = $request->input('image_id');  
  $separate_ids = explode(",", $image_url);

  foreach ($separate_ids as $ids) {

   $result_url['url'] = TempImage::where('id', '=', $separate_ids) 
      ->get(['image']);
            }
                if ($result_url) {

                    $imageModel = new Image();
                    $imageModel->user_id = $userID;
                    $imageModel->user_type = $userType;
                    $imageModel->image = $result_url;
                    $result = $imageModel->save();
                }

Всего 2 ответа


Вам необходимо повторить разделенные идентификаторы, получить данные из таблицы, в которой они хранятся (для каждого идентификатора), и вставить их в целевую таблицу.

foreach($separate_ids as $id) 
{
    // Get the URL according to the image ID
    $url = TempImage::where('id', $id)->first()->image;

    // Store the image
    $imageModel = new Image();
    $imageModel->user_id = $userID;
    $imageModel->user_type = $userType;
    $imageModel->image = $url;
    $imageModel->save();
}

Если данные в объекте json, такие как [{"id": 1}, {"id": 2}, {"id": 3}, {"id": 4}]

$separate_ids = '[{"id":1},{"id":2},{"id":3},{"id":4}]'

$separate_ids_array = json_decode($separate_ids);

foreach($separate_ids_array as $separate_id) 
{
    // Get the URL according to the image ID
    $url = TempImage::where('id', $separate_id->id)->first()->image;

    // Store the image
    $imageModel = new Image();
    $imageModel->user_id = $userID;
    $imageModel->user_type = $userType;
    $imageModel->image = $url;
    $imageModel->save();
}

Есть идеи?

10000