2015-05-14 3 views
1

Я использую laravel для создания приложения. Кроме того, я использую Eloquent ORM.Не удалось обновить несколько данных, используя eloquent

Есть две таблицы:

meetings - id(PK), name, meeting_with, meeting_on 
user_meetings - id, meeting_id (FK -meetings (id)), user_id 
 

    { 
     "data" : { 
     "meeting_details" : { 
      "id" : 8, 
      "name" : "Client", 
      "meeting_with" : "CEO", 
      "meeting_on" : 1431588871 

     }, 
     "user_details" : { 
       "2" : "Second User", 
       "1" : "First User" 
      } 
     } 
    } 

Это сообщение JSON, что я получаю. Мне нужно обновить в двух таблицах - встречи и user_meetings

Я могу обновить таблицу совещаний, но не смог обновить таблицу user_meetings.

foreach($meetings_data['data']['user_details'] as $user_id => $user_name) { 
      $update_array_set['user_id'] = $user_id; 
      $user_meeting_result = UserMeetingDetails::where('meeting_id', '=', $meeting_id)->update($update_array_set); 
} 

Я получаю user_id от user_details.

Итак, если есть два пользователя, соответствующих одному meeting_id, и если я попытаюсь обновить его только до одного, он обновит его, но также сохранит вторую запись. И, если JSON имеет только один объект под user_details, там должен быть только один объект в базе данных, соответствующей meeting_id

ответ

0

Прочитайте этот раздел документации снова: http://laravel.com/docs/5.0/eloquent#insert-update-delete

Если настроить отношения правильно вашей модели, вы можете просто использовать $ model-> push() и обновить все отношения.

+0

Да, я сделал. Но не в состоянии это сделать. – nirvair

0

Для многих-многих отношений я решил, что обновление не будет правильным.

Таким образом, я удаляю все записи, соответствующие идентификатору, а затем вставляю новые записи.

Смежные вопросы