Как определить аксессор в модели, где имя поля содержит число? - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь определить метод доступа в моей модели User для поля, которое уже существует.Это поле называется address_line_1 в моей БД.Однако, поскольку имя поля содержит число, я не уверен, как заставить Laravel распознать знак подчеркивания после «строки».

Обычно для определения подчеркивания вы бы использовали верблюжий случай, но в этом случае это невозможно.Я проверил документацию Laravel, но эта проблема не упоминается.Ниже мой код в настоящее время:

public function getAddressLine1Attribute($value){
    return empty($value) ? '' : decrypt($value);
}

Я также пробовал имя функции getAddress_Line_1Attribute и getAddressLine_1Attribute, но это не работает.

Как я могу обойти это?

1 Ответ

0 голосов
/ 18 сентября 2018

Laravel 5.7 вызывает эту функцию, чтобы проверить, существует ли мутатор get:

 /**
 * Determine if a get mutator exists for an attribute.
 *
 * @param  string  $key
 * @return bool
 */
public function hasGetMutator($key)
{
    return method_exists($this, 'get'.Str::studly($key).'Attribute');
}

'get'.Str::studly('address_line_1').'Attribute' === 'getAddressLine1Attribute'

Похоже, имя вашего метода правильное.

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