Eloquent - вставить массив данных в таблицу - PullRequest
0 голосов
/ 26 апреля 2018

Привет, я просто создаю номер для бронирования веб с приглашенными людьми .Таблица выглядит так:

enter image description here

enter image description here

данные о бронировании комната будет вставлена ​​в таблицу jadwal_meetings, а данные о приглашенных будут вставлены в таблицу invites.Контроллер выглядит следующим образом:

Контроллер

public function save_schedule(Request $save)
    {
      $create = new jadwal_meeting;
      $create->nama_meeting = $save->input('nama_meeting');
      $create->tanggal = $save->input('tanggal_meeting');
      $create->jam_mulai = $save->input('jam_mulai');
      /*and some other field*/

      $id_jadwal = $create->id;
      $create->save();
      // looping email_user
      $emails = $save->input('email');
      foreach ($emails as $email)
      {
        // Insert to invites table
        $email = new invites;
        $email->id_meeting = $save->$id_jadwal;
        $email->invite_people = $save->input('email');
        $email->save();
      }
      return redirect()->route('user_home');
    }

, и я просто создаю html shadow input элемент для сбора приглашенные люди значение, подобное этому

HTML + Jquery

<input type="text" name="nama_meeting">
<input type="text" name="tanggal_meeting">
<input type="email" name="people_invited">
<ul class="people_added"></ul>

$("[name='people_invited']").keyup(function (e) {
      if (e.key == 'Enter' && ($(this).val() !== '')) {
        var orang_yg_diinvite = $(this).val();
        $("ul.people_added").append("<li>" + orang_yg_diinvite +"</li>");
        $("ul.people_added").append("<input type='hidden' name='email[]' value='" + orang_yg_diinvite + "'>");
      }
    });

Результат

enter image description here

Но это не работает, я получаю такую ​​ошибку

Преобразование массива в строку (SQL: вставить в invites (id_meeting, invite_people, updated_at, created_at) значения (, people1@email.com, 2018-04-26 04:37:50, 2018-04-26 04:37:50))

Как решить эту ошибку, пожалуйста, помогитея :) 1067 *

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

Вы делаете некоторые ошибки.Пожалуйста, попробуйте этот код.

$create = new jadwal_meeting;
$create->nama_meeting = $save->input('nama_meeting');
$create->tanggal = $save->input('tanggal_meeting');
$create->jam_mulai = $save->input('jam_mulai');
$create->save();
$id_jadwal = $create->id;

$emails = $save->input('email');
foreach ($emails as $email)
{
    // Insert to invites table
    $invite = new invites;
    $invite->id_meeting = $id_jadwal;
    $invite->invite_people = $email;
    $invite->save();
}
0 голосов
/ 26 апреля 2018

Вам просто нужно изменить код контроллера, как показано ниже.

public function save_schedule(Request $save)
    {
      $create = new jadwal_meeting;
      $create->nama_meeting = $save->input('nama_meeting');
      $create->tanggal = $save->input('tanggal_meeting');
      $create->jam_mulai = $save->input('jam_mulai');
      /*and some other field*/

      $id_jadwal = $create->id;
      $create->save();
      // looping email_user
      $emails = $save->input('email');
      foreach ($emails as $email)
      {
        // Insert to invites table
        $invite = new invites;
        $invite->id_meeting = $id_jadwal; // changes
        $invite->invite_people = $email; // changes
        $invite->save();
      }
      return redirect()->route('user_home');
    }

Спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...