Как получить доступ к вложенным объектам json без json_decoding коллекции - PullRequest
3 голосов
/ 18 марта 2019

У меня есть следующая структура данных:

[
   {
      "id": 1,
      "customer_id": "11",
      "customer_name": "Vic",
      "cheque_withdraw": {
         "id": 2,
         "request_date", "2019-03-30"
      }
   }
]

Я получил эти данные из нескольких таблиц с помощью следующего кода;

$paginator = Cheque::with(['chequeWithdraw' => function($query){
        $query->where('withdraw_status' , 'withdrawn');
    }])
    ->paginate(5);

Как получить доступ к вложенному объекту json request_date без необходимости конвертировать мою коллекцию в ассоциативный массив? Причина, по которой я не хочу преобразовывать коллекцию в ассоциативный массив, заключается в том, что у меня возникают проблемы с разбиением на страницы данных, которые были декодированы с помощью json. В настоящее время я пытаюсь получить доступ к request_date в моем блейд-файле таким образом;

@foreach($paginator as $cheque)
   {{ $cheque->cheque_withdraw->request_date }}
@endforeach

Однако я получаю следующую ошибку;

Trying to get property 'request_date' of non-object

1 Ответ

5 голосов
/ 18 марта 2019

На самом деле у вас есть chequeWithdraw, а не cheque_withdraw

@foreach($paginator as $cheque)
   {{ $cheque->chequeWithdraw->request_date  ?? 'NA'}}
@endforeach

Возможно, вы пытаетесь преобразовать коллекцию laravel в json или массив. Laravel конвертировать camel case в snake case. Итак, вы получили его для json, а не для шаблона laravel.

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