@lavreno63
Junior Front-end developer

Как реализовать права к пользователям с их ролями laravel?

Подскажите как можно реализовать :
Когда входишь под менеджером ему доступно всего 2 действия добавление и удаление.
Вроде сделал а при редактирование или добавлении ошибка в таблице с ролями
//Таблица ролей
        Schema::create('roles',function (Blueprint $table) {
            $table->increments('id');
            $table->string('name',50);
            $table->timestamps();
        });
//таблица пользователей
Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('role_id')->unsigned();
            $table->foreign('role_id')->references('id')->on('roles');
            $table->string('name')->nullable();
            $table->string('company_name')->nullable();
            $table->string('email', 100)->unique();
            $table->string('password')->nullable();
            $table->rememberToken();
            $table->boolean('active');
            $table->timestamps();
    });

Ошибка :
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'roles.role_id' in 'where clause' (SQL: select * from `roles` where `roles`.`role_id` = 1 and `roles`.`role_id` is not null)
  • Вопрос задан
  • 219 просмотров
Пригласить эксперта
Ответы на вопрос 1
mzcoding
@mzcoding
Web-Разработка
В таблице roles нет поля role_id.
Вам нужно реляции прописать, в users , чтото типа:
public  function role()
    {
        return $this->hasOne(Role::class, 'user_id', 'id');
    }
Ответ написан
Ваш ответ на вопрос

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

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