Laravel - Невозможно создать Accessor для поля с именем 'edge_50mm' - PullRequest
0 голосов
/ 23 октября 2018

У меня есть Product модель с полем 'edge_50mm'.Проблема в том, что когда я создаю Accessor для этого поля с именем getEdge50mmAttribute, оно не работает.Я думаю, что это из-за числа 50 в названии поля.Я также пробовал с заглавной буквы М, как getEdge50MmAttribute, но безуспешно.Работают средства доступа к другим полям, в именах которых нет чисел.

Буду признателен за любую помощь или предложение.Спасибо.

1 Ответ

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

Это не воспроизводимо.Laravel использует свой вспомогательный регистр-помощник для преобразования имени свойства и проверки на наличие мутатора:

> Str::studly('edge_50mm'); 
"Edge50mm"

Так что, edge_50mm и edge50mm будут работать одинаково.

function getEdge50mmAttribute() {
    return 'Hello World';
}

Пример:

> $model->edge50mm
"Hello World"
> $model->edge_50mm
"Hello World"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...