Получить значение из поля в Laravel Cast Array - PullRequest
0 голосов
/ 11 марта 2020

У меня есть таблица с именем settings, в ней есть несколько столбцов, id, company_id, key, value.

В моей Laravel модели для настройки , У меня есть следующее приведение:

protected $casts = [
    'value' => 'array',
];

Но когда я go для извлечения данных, которые были сохранены, я не могу.

Например, у меня есть запись с следующий value: "{\"default_remit_address\":\"2395\"}"

И когда я go извлекаю запись в Blade, он правильно ее поднимает, но я не уверен, как получить указанное значение c из поля value (например, default_remit_address).

Если я печатаю возврат "{{$settings->value}}" непосредственно в Blade, это то, что я получаю:

{"default_remit_address":"2395"}

Так как же я могу go на один уровень глубже?

1 Ответ

0 голосов
/ 11 марта 2020

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

$default_remit_address = Settings::find(1)->value['default_remit_address'];

или в своем шаблоне блейда

{{ $settings->value['default_remit_address'] }}
...