我正在使用laravel来构建应用程序。另外,我正在使用Eloquent ORM。
有两个表:
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帖子。我需要更新两个表 - meeting和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_details
获取了user_id。
因此,如果有两个用户对应一个meeting_id
,并且如果我尝试将其更新为仅一个,则会更新该更新,但也保留第二个条目。并且,如果JSON在user_details下只有一个对象,则数据库中只需要一个对应meeting_id
答案 0 :(得分:0)
再次阅读文档的这一部分:http://laravel.com/docs/5.0/eloquent#insert-update-delete
如果您在模型中正确设置了关系,则只需使用$ model-> push(),它也会更新所有关系。
答案 1 :(得分:0)
对于很多人的关系,我认为更新不是正确的事情。
因此,我删除了与id对应的所有条目,然后插入新条目。