Laravel Многие ко многим прикрепляют? - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь создать или прикрепить данные к таблице с именем "user_votes", но я не знаю, почему не работают соединения между "Голосовать" и "Пользователь".

Таблица user_votes

Schema::create('user_votes', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->bigInteger('user_id')->unsigned();
        $table->bigInteger('vote_id')->unsigned();
        $table->string('name');
        $table->string('page', 100)->nullable();
        $table->timestamps();

        $table->foreign('user_id')->references('id')->on('users');
        $table->foreign('vote_id')->references('id')->on('votes');
    });

Модель голосования:

public function user_votes()
{
    return $this->belongsToMany(User::class, 'user_votes');
}

Модель пользователя:

public function user_votes()
{
    return $this->belongsToMany(Vote::class, 'user_votes');
}

Контроллер магазина:

auth()->user()->user_votes()->attach([
            'name' => $option->name,
            'page' => $option->page
        ]);

Спасибо за любые идеи.

1 Ответ

0 голосов
/ 10 января 2020

Пожалуйста, попробуйте следующий код, надеюсь, он вам поможет.

$voteId = 1;

auth()->user()->user_votes()->attach($voteId => [
    'name' => $option->name,
    'page' => $option->page
]);
...