Phpmyadmin принимает только одну запись из массива json, имеющего несколько входных значений - PullRequest
0 голосов
/ 19 марта 2020

Может ли кто-нибудь помочь мне установить правильный foreach l oop для отправки нескольких входных значений в базу данных (MySQL). Всякий раз, когда я выполняю этот код в почтальоне, в базу данных загружается только одна запись. Я хочу отправить несколько «user_id» одновременно.

$input = json_decode(file_get_contents('php://input', true));

foreach($input->users as $user) {
    $groupId = $user->group_id;

    $groups = Group::where("group_id", $groupId)
        ->get()->first();

    foreach($input->users as $user2) {

        $groupMembers = new GroupMembers();

        $userId = $user2->user_id;
        $groupMembers->group_id = $groups->group_id;

        $users1 = Users::where("user_id", $userId)
            ->get()->first();

        $groupMembers->member_user_id = $users1->user_id;
        $response = json_decode($groupMembers, true);

        $save = $groupMembers->save();

Ввод json:

{
    "users" : [{
        "group_id" : "1",
        "user_id" : ["2", "3", "4"]
}]}

Ответы [ 2 ]

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

Попробуйте следующее

foreach($input->users as $user) {
          $groupId = $user->group_id;

          $groups = Group::where("group_id", $groupId)
              ->get()->first();

          foreach($user->user_id as $userId) {

              $groupMembers = new GroupMembers();

              $groupMembers->group_id = $groups->group_id;

              $users1 = Users::where("user_id", $userId)
                  ->get()->first();

              $groupMembers->member_user_id = $userId;
              $response = json_decode($groupMembers, true);

              $save = $groupMembers->save();}
        }
0 голосов
/ 19 марта 2020

Попробуйте, что вы перебираете users должно быть user_id

foreach($input->users['user_id'] as $user) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...