Попытка получить свойство необъекта из вида лезвия в laravel - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь отобразить свои данные разбивки на страницы в базу данных ... Мои данные разбивки на страницы были с json, которые я уже декодировал ..... Я смог передать данные разбивки на страницы для просмотра, но не смог отобразить в таблице .... Это моя ошибка в режиме просмотра лезвия

Попытка получить свойство необъекта

мой результат разбивки на страницы

  LengthAwarePaginator {#4177 ▼
      #total: 1
      #lastPage: 1
      #items: Collection {#4169 ▼
        #items: array:1 [▼
          "data" => array:852 [▼
            0 => {#624 ▶}
            1 => {#623 ▶}
            2 => {#628 ▼
              +"ID": "cust1"
              +"PWD": "W6ph5Mm5Pz8GgiULbPgzG37mj9g="
              +"NICK_NAME": "CUST1"
              +"PWD_INVALID_HIT": "0"
              +"PWD_CREATE_DT": "2019/07/22 15:57:15"
              +"INSTITUTION_ID": "C01"
              +"ACL_ID": "L04"
              +"LOGIN_DT": "2019/07/22 15:57:15"
              +"LOGIN_STS_ID": "N"
              +"STS_ID": "C08"
              +"TYPE_ID": "U00"
              +"UPD_ID": "sufyzasukor"
              +"UPD_DT": "2019/07/22 15:57:15"
              +"EMAIL_ID": "cust1@gmail.com"
              +"PHONE_NO_ID": "0"
              +"HP_ID": "0                        "
              +"CRT_DATE_DELETED": null
              +"irel__com_access_level": {#621 …9}
              +"irel__com_user_types": {#630 …5}
              +"irel__com_status": {#631 …5}
            }
}
  #perPage: "15"
  #currentPage: 1
  #path: "http://localhost/IFICSV3/public/configuration/comuserprofiles"
  #query: []
  #fragment: null
  #pageName: "page"
  +onEachSide: 3
  #options: array:2 [▶]
}

My контроллер

public function index()
    {


        $response =  $this->client->get('getUserIndex')->getBody();
         $content = json_decode($response->getContents());



         $total = count($content) ;
         $collection = new \Illuminate\Support\Collection($content);
         $paginationRecord = CollectionPaginate::paginate($collection, $total, '15');



         return view('configuration.comuserprofiles.ComUserProfilesList', ['paginationRecord' => $paginationRecord]);

}

моя таблица блейдов, которую я хочу отобразить

    <tbody>
             @foreach($paginationRecord as $i=>$user)
              @php
              $currentRecordno = 1;

              @endphp  


              <tr>

       <td>{{ $user->ID }}</td>
       <td>{{ $user->NICK_NAME }}</td>
       <td>{{ $user->PWD_INVALID_HIT }}</td>


        </tr>
@endforeach 

dd ($ user)

array:852 [▼
  0 => array:20 [▶]
  1 => array:20 [▶]
  2 => array:20 [▼
    "ID" => "cust1"
    "PWD" => "W6ph5Mm5Pz8GgiULbPgzG37mj9g="
    "NICK_NAME" => "CUST1"
    "PWD_INVALID_HIT" => "0"
    "PWD_CREATE_DT" => "2019/07/22 15:57:15"
    "INSTITUTION_ID" => "C01"
    "ACL_ID" => "L04"
    "LOGIN_DT" => "2019/07/22 15:57:15"
    "LOGIN_STS_ID" => "N"
    "STS_ID" => "C08"
    "TYPE_ID" => "U00"
    "UPD_ID" => "sufyzasukor"
    "UPD_DT" => "2019/07/22 15:57:15"
    "EMAIL_ID" => "cust1@gmail.com"
    "PHONE_NO_ID" => "0"
    "HP_ID" => "0                        "
    "CRT_DATE_DELETED" => null
    "irel__com_access_level" => array:9 [ …9]
    "irel__com_user_types" => array:5 [ …5]
    "irel__com_status" => array:5 [ …5]

Как отобразить данные в таблице

Ответы [ 3 ]

1 голос
/ 20 февраля 2020

Я думаю, это потому, что у вас есть коллекция в вашей переменной $ user. Вам нужно l oop над этим $ user var следующим образом:

<tbody>
@foreach($paginationRecord as $i=>$user)
   @php
     $currentRecordno = 1;
   @endphp  
   @foreach($user as $i => $u)
   <tr>
       <td>{{ $u['ID'] }}</td>
       <td>{{ $u['NICK_NAME'] }}</td>
       <td>{{ $u['PWD_INVALID_HIT'] }}</td>
   </tr>
   @endforeach
@endforeach 

Кроме того, вам нужно это:

@php
   $currentRecordno = 1;
@endphp 

$ i в вашем foreach l oop должен представлять индекс или $ currentRecordno. Но если у вас есть веская причина, то придерживайтесь ее.

1 голос
/ 20 февраля 2020

Вы пытаетесь получить доступ к массиву как к объекту. Вот почему ошибка. Попробуйте это.

<tbody>
             @foreach($paginationRecord as $i=>$user)
              @php
                 $currentRecordno = 1;
              @endphp  

              <tr>
                <td>{{ $user['ID'] }}</td>
                <td>{{ $user['NICK_NAME'] }}</td>
                <td>{{ $user['PWD_INVALID_HIT'] }}</td>
             </tr>
             @endforeach 
0 голосов
/ 20 февраля 2020

Для читабельности:

Но на самом деле, я, вероятно, не стал бы делать это дополнительно foreach l oop.

Я думаю, что ваш метод контроллера должен быть больше похож на:

public function index()
{
        $response =  $this->client->get('getUserIndex')->getBody();
         $content = json_decode($response->getContents());
         $paginationRecord = CollectionPaginate::paginate($content['data'], count($content), '15');

         return view('configuration.comuserprofiles.ComUserProfilesList', ['paginationRecord' => $paginationRecord]);

}

На самом деле ваш клинок должен будет измениться на:

<tbody>
@foreach($paginationRecord as $i=>$user)
   @php
     $currentRecordno = 1;
   @endphp  
   <tr>
       <td>{{ $user['ID'] }}</td>
       <td>{{ $user['NICK_NAME'] }}</td>
       <td>{{ $user['PWD_INVALID_HIT'] }}</td>
   </tr>
@endforeach 
...