我將用戶列表作爲數組提取並對數據進行分頁並將其作爲表格顯示在視圖中。cakephp3- foreach循環迭代失敗
要迭代數組,我使用foreach循環。但我的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行,但不會顯示值。 我使用的迭代有什麼問題? 任何人都可以指出我的錯誤嗎? 謝謝!
UPDATE
控制器功能
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()'功能。 –
h()是一個用於echo的cakephp速記。 @Praveen Kumar – Annabelle