无法使用eloquent更新多个数据

时间:2015-05-14 17:08:21

标签: php eloquent laravel-5

我正在使用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

的对象

2 个答案:

答案 0 :(得分:0)

再次阅读文档的这一部分:http://laravel.com/docs/5.0/eloquent#insert-update-delete

如果您在模型中正确设置了关系,则只需使用$ model-> push(),它也会更新所有关系。

答案 1 :(得分:0)

对于很多人的关系,我认为更新不是正确的事情。

因此,我删除了与id对应的所有条目,然后插入新条目。