Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 10.02.2018 13:35:14

Многие ко многим через...

У меня есть пользователи и роли (многие ко многим), я хочу чтобы для каждой конкретной роли у пользователя был опыт и список навыков. Как это лучше реализовать, hasManyThrough подойдет?

Ещё вариант сделать через таблицу pivot, но как её связать с моделью навыков, например?

Изменено max1s (12.02.2018 13:45:34)

Не в сети

#2 12.02.2018 13:32:42

Re: Многие ко многим через...

В общем, в новых версиях laravel можно для промежуточной таблицы pivot создать модель и потом прописать в зависимостях приставку using:

public function users() {
        return $this->belongsToMany('App\User')->using('App\Membership');
    }

А сама модель создается так

class Membership extends Pivot

Миграции для промежуточной так же составляются? Очень мало инфы по этой теме.

Schema::create('membership', function (Blueprint $table) {
            $table->integer('role_id')->unsigned()->index();
            $table->foreign('role_id')->references('id')->on('roles');

            $table->integer('user_id')->unsigned()->index();
            $table->foreign('user_id')->references('id')->on('users');

             $table->string('navik', 255);
}

Изменено max1s (12.02.2018 13:44:12)

Не в сети

Подвал раздела