Saya mengambil daftar pengguna sebagai array dan membuat halaman data dan menampilkannya dalam tampilan sebagai tabel.
Untuk mengulangi array, saya menggunakan loop foreach. Tapi iterasi loop foreach saya tidak berfungsi.
Berikut adalah contoh array ketika saya melakukan print_r()
Saya memiliki bidang id
, email
dan full_name
yang ingin saya tampilkan dalam tampilan
Cake\ORM\ResultSet Object
(
[items] => Array
(
[0] => App\Model\Entity\Role Object
(
[_matchingData] => Array
(
[Users] => App\Model\Entity\User Object
(
[id] => 1
[email] => [email protected]
[full_name] => John Doe
[[new]] =>
[[accessible]] => Array
( [*] => 1 )
[[dirty]] => Array
( )
[[original]] => Array
( )
[[virtual]] => Array
( )
[[errors]] => Array
( )
[[invalid]] => Array
( )
[[repository]] => Users
)
)
[[new]] =>
[[accessible]] => Array
( [*] => 1 )
[[dirty]] => Array
( )
[[original]] => Array
( )
[[virtual]] => Array
( )
[[errors]] => Array
( )
[[invalid]] => Array
( )
[[repository]] => Roles
)
)
)
Ini adalah bagian tampilan di mana saya mengulangi array. Hasilnya disimpan di $userList
. Selalu ada lebih dari satu pengguna dalam array ini jadi saya menggunakan loop foreach.
<?php foreach ($userList as $user): ?>
<tr>
<td><?php echo($user->id); ?></td>
<td><?php echo($user->email); ?></td>
<td><?php echo($user->full_name); ?></td>
</tr>
<?php endforeach; ?>
Dalam pandangan saya, baris dihasilkan tetapi saya tidak melihat nilai array. Jika ada lima pengguna dalam array, 5 baris dihasilkan tetapi nilai tidak ditampilkan. Apa yang salah dengan iterasi yang saya gunakan? Adakah yang bisa menunjukkan kesalahan saya? Terima kasih!
PEMBARUAN
Fungsi Pengontrol
public function view()
{
$this->loadComponent('Prg');
$this->Prg->commonProcess();
$params = $this->Prg->parsedParams();
//Listing members
$this->paginate = [
'limit' => 25,
'finder' => ['UsersList' =>['filter'=> $params]],
'extraOptions' =>[
'params' => $params
]
];
$usersList = $this->paginate($this->CompanyUsers);
$this->set('usersList', $usersList);
$this->set('_serialize', ['usersList');
}
Fungsi model
public function findUsersList(Query $query, array $options)
{
$query
->select(['Users.id','Users.email','Users.full_name'])
->leftJoinWith('Users');
return $query;
}
Catatan: Fungsi pencari ini ada di CompanyUsersTable
. CompanyUsersTable
memiliki hubungan dengan pengguna. Jadi saya keluar dari UsersTable
dengan CompanyUsersTable
dan mengambil daftar pengguna di bawah perusahaan itu.
h()
Anda. - person Praveen Kumar   schedule 13.06.2017