Как я могу получить свойство моей модели Eloquent? - PullRequest
0 голосов
/ 19 января 2020

Как я могу проверить одно из свойств моей модели разрешений? В настоящее время я использую строку, чтобы проверить, есть ли у моего пользователя разрешение с разрешением title $. Но я хотел бы заменить эту строку 'title' ссылкой на свойство в моей модели разрешений. Так что, когда я изменяю свойство в моей модели разрешений, оно изменяется во всем приложении. Я мог бы также использовать константы для свойств и использовать их в своих миграциях, но мне было интересно, есть ли способ без использования констант?

В моей пользовательской модели

public function hasPermission(string $permission)
{
    return $this->permissions->contains('title', $permission);
}

Моя модель разрешений , Я не реализовал заполнение, так как я делаю это только с сеялкой.

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Permission extends Model
{
    const SUPER = 'super';
    const ADMIN = 'admin';
    const DEVELOPER = 'developer';
    const NONE = 'none';
    public static $types = [self::SUPER, self::ADMIN, self::DEVELOPER, self::NONE];
}

1 Ответ

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

Как вы можете использовать константу, если вы будете изменять это значение свойства в будущем? Почему бы просто не объявить личную переменную в этой модели и использовать ее как свойство в качестве ссылки.

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