Laravel Отношения, сохраняющие массив - PullRequest
0 голосов
/ 06 февраля 2020

Я работаю над своим первым laravel проектом CRM. В моем crm вы можете создавать встречи и пакеты. Теперь для встреч мне нужно иметь возможность выбирать пакеты и устанавливать отношения, однако я не уверен, что я делаю это правильно.

В моей модели встреч у меня это есть в функции return $this->hasMany('App\Package');

и в моей модели пакета это есть в функции return $this->belongsTo('App\Appointment');

Мне трудно понять, когда я создаю новую встречу и выбираю пакет, как мне сохранить это упаковывает данные (массив) в БД, чтобы, если мне нужна коллекция встреч, я мог видеть, какой пакет был назначен этой встрече?

Смогу ли я увидеть связь с БД?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2020

То, как вы описываете это, выглядит так, как будто у вас есть отношения один к одному между Встречей и Пакетом.

Вы можете прикрепить Пакет к Встрече, используя метод associate в отношениях.

$appointment = Appointment::find(1);
$package = Package::find(1);

$appointment->package()->associate($package);

Принадлежит к отношениям

0 голосов
/ 06 февраля 2020

Eloquent предоставляет удобные методы для добавления новых моделей в отношения.

вы можете использовать associate метод. Этот метод установит внешний ключ для дочерней модели:

//...
$appointment = new App\Appointment(['column' => 'value']);

$package = App\Package::find(1);

$appointment->packages()->associate($package);

$appointment->save();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...