ฉันกำลังดึงรายชื่อผู้ใช้เป็นอาร์เรย์และแบ่งหน้าข้อมูลและแสดงในมุมมองเป็นตาราง
ในการวนซ้ำอาร์เรย์ ฉันใช้ foreach loop แต่การวนซ้ำ foreach ของฉันไม่ทำงาน
นี่คืออาร์เรย์ตัวอย่างเมื่อฉันทำ print_r()
ฉันมีฟิลด์ id
, email
และ full_name
ที่ฉันต้องการให้แสดงในมุมมอง
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
)
)
)
นี่คือส่วนหนึ่งของมุมมองที่ฉันวนซ้ำอาร์เรย์ ผลลัพธ์ถูกเก็บไว้ใน $userList
มีผู้ใช้มากกว่าหนึ่งรายในอาร์เรย์นี้เสมอ ดังนั้นฉันจึงใช้ลูป 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; ?>
ในมุมมองของฉัน แถวต่างๆ ถูกสร้างขึ้น แต่ฉันไม่เห็นค่าอาร์เรย์ หากมีผู้ใช้ห้าคนในอาร์เรย์ ระบบจะสร้าง 5 แถวแต่จะไม่แสดงค่า เกิดอะไรขึ้นกับการวนซ้ำที่ฉันใช้ ใครสามารถชี้ให้เห็นข้อผิดพลาดของฉัน? ขอบคุณ!
อัปเดต
ฟังก์ชันตัวควบคุม
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');
}
ฟังก์ชันโมเดล
public function findUsersList(Query $query, array $options)
{
$query
->select(['Users.id','Users.email','Users.full_name'])
->leftJoinWith('Users');
return $query;
}
หมายเหตุ: ฟังก์ชันค้นหานี้อยู่ใน CompanyUsersTable
CompanyUsersTable
มีความสัมพันธ์กับผู้ใช้ ดังนั้นฉันจึงออกจากการเข้าร่วม UsersTable
กับ CompanyUsersTable
และดึงรายชื่อผู้ใช้ภายใต้บริษัทนั้น
h()
ของคุณ - person Praveen Kumar   schedule 13.06.2017