Вставка и извлечение информации из поля MySQL в Laravel - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть поле JSON, с которым я экспериментирую, но у меня возникли некоторые проблемы с ним.

Я добавил следующее к моей Customer модели:

  protected $casts = [
    'billingConfig' => 'array'
  ];

И я обновил тестовое поле, используя следующее в моем контроллере:

  $customer->billingConfig = ['attachableType' => $request->attachmentsConfig];
  $customer->save();

Послеэто, в моей базе данных появляется следующее:

{"attachableType": "combined"}

Теперь, когда я иду, чтобы захватить это конкретное значение через мой блейд:

{{$customer->billingConfig->attachableType}}

Я получаю «Попытка получить свойство» attachableType'of-object'

Но когда я использую следующее:

{{$customer->billingConfig['attachableType']}}

, я получаю "комбинированное" значение, которое я искал.

Я использовал это руководство: https://www.qcode.in/use-mysql-json-field-in-laravel/, и, думаю, мне хотелось убедиться, что я все делал правильно, а их метод был неправильным, или я где-то обманывал.

1 Ответ

0 голосов
/ 07 февраля 2019

Поля данных JSON читаются как массив, для которого нельзя вызвать свойство, поэтому я считаю, что причина ошибки, которую вы получили при вызове

{{$customer->billingConfig->attachableType}}

, потому что это массив, а необъект данных (как в случае с javascript).

Спасибо, что поделились.

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