Задать вопрос
@kaxa3201

Как создать отношение многие ко многим без сводной таблицы?

Пишу апи на вход которому приходят
$requestData = [
            "email"        => "test@mail.ru",
            "login"        => "test",
            "password" => "sdfsdf",
            "url_id"       =>   12
        ];


Хочу чтобы у email могло быть несколько url, и url несколько email
Написал модели
class Email extends Model
{
    use HasFactory;

    protected $fillable = [
        'email',
        'login',
        'password',
    ];

    public function urls()
    {
        return $this->belongsToMany(EmailUrl::class);
    }
}
class EmailUrl extends Model
{
    use HasFactory;
    protected $table = 'emails_urls';

    protected $fillable = [
        'url_id',
        'email_id',
    ];

    public function emails()
    {
        return $this->belongsToMany(Email::class);
    }
}

Написал скрипт на создание записи, но думаю что всё неверно.
$requestData = [
            "email"    => "test@mail.ru",
            "login"    => "test",
            "password" => "sdfsdf",
            "url_id"   => 12,
        ];
        $email = Email::create([
            'email'    => $requestData['email'],
            'login'    => $requestData['login'],
            'password' => $requestData['password'],
        ]);
        $url = EmailUrl::create(['email_id' => $email->id, 'url_id' => $requestData['url_id']]);

Правильно ли я это дело реализовал? Если нет, то подскажите пожалуйста как будет верно
  • Вопрос задан
  • 102 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы