Laravel составные первичные ключи отношения - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь вызвать эту функцию hasOne, но у меня есть 2 первичных ключа, как я могу это сделать?

    public function user_ratings()
    {
        return $this->hasOne('App\User_rating', 'id_user', 'id');
    }

Таблица пользовательских рейтингов

Schema::create('user_rating', function (Blueprint $table) {
            $table->integer('id_user')->unsigned(); //Increments es unsigned por defecto
            $table->integer('id_item')->unsigned();
            $table->integer('rating');
            $table->text('comment');
            $table->timestamps();

            $table->primary(['id_user', 'id_item']);

            $table->foreign('id_user')->references('id')->on('users')
                ->onUpdate('restrict')
                ->onDelete('cascade');

            $table->foreign('id_item')->references('id')->on('products')
                ->onUpdate('restrict')
                ->onDelete('cascade');
        });

Это моя база данных

Database

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

Хотя платформа Laravel поддерживает создание таблиц базы данных с составными первичными ключами, Eloquent (ORM) не поддерживает их, и , вероятно, никогда не будет .

0 голосов
/ 11 июня 2019
    public function user_ratings()
    {
        return $this->hasOne('App\User_rating', 'id_user', 'id');
    }

Второй параметр - это внешний ключ, а третий - локальный ключ.

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