Мутирующие мутаторы в модели Laravel Eloquent - PullRequest
0 голосов
/ 17 октября 2018

Чтобы определить Mutator в классе Eloquent Model, мы используем getFooAttribute как:

public function getTitleAttribute($value)
{
    return ucfirst($value);
}

Но представьте, что у меня есть много (от 20 до 30) атрибутов в одной модели, которые я хотел быпереименовать, сложно создать функцию для каждой, есть ли более разумный способ решить эту проблему?

1 Ответ

0 голосов
/ 17 октября 2018

Вы можете переопределить функцию getAttribute в вашей модели и иметь ассоциативный массив для переименования атрибутов.

public function getAttribute($key)
{
    $renames = [
        'foo' => 'bar',
    ];

    if (array_key_exists($key, $renames))
        $key = $renames[$key];

    return parent::getAttribute($key);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...