Создание записи, содержащей только ассоциации без явной установки идентификаторов - PullRequest
0 голосов
/ 01 апреля 2020

В моем контроллере есть следующий код, и я пытаюсь создать запись userProgram:

$program = Program::find($request['program']);

$user->userProgram()->create([

]);

Мне кажется, что мне не нужно явно устанавливать эти значения с помощью create (), если мои отношения правильно настроены

однако у меня возникли проблемы при создании этой записи пользовательской программы автоматически с laravel, кто-нибудь может помочь?

userProgram имеет program_id и user_id

Пользовательская программа. php

  class UserProgram extends Model
    {
        public function User()
        {
            return $this->belongsTo('App\Model\User');
        }

        public function Program()
        {
            return $this->hasOne('App\Model\Program');
        }
    }

Программа. php

class Program extends Model
{
    protected $fillable = ['developer_id', 'name'];


    public function userProgram()
    {
        return $this->belongsTo('App\Model\UserProgram');
    }
}

1 Ответ

1 голос
/ 01 апреля 2020

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

$user->userProgram()->create(['program_id' => $programId]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...