我正在尝试将数据从表格设置为default.ctp
。所以在AppController.php
中,我添加了:
public function beforeFilter(Event $event)
{
$usersTable = TableRegistry::get('Users');
$users = $usersTable->getAllUsers();
$this->set('users', $users);
}
在default.ctp
:
<?php
foreach($users as $user){
echo '<li class="tree-submenu" id="employees-submenu">' . $user['first_name'] . '</li>';
}
?>
但显然$用户没有设置。
我也尝试在PagesController.php
中添加此内容,但在执行此操作后我得到了一个空白屏幕:
public function beforeFilter(Event $event)
{
parent::beforeFilter($event);
}
我需要一些帮助来弄清楚我缺少的东西,我们将非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
当我在设置变量时遇到问题我只做print_r($ users);并且看看是否有任何显示,只是为了确定。
可能性在getAllUsers方法中,但值得注意的是,echo语句包含在单引号中,并且您也在变量中使用单引号。应该尽量保持这些分开。所以改为使用$ user [“first_name”]。
答案 1 :(得分:0)
所以你只是尝试将数据从appcontroller设置为default.ctp
你没有在你的问题中写下“getAllUsers方法”
等.........您可以通过以下代码显示users表中的所有记录
public function beforeFilter(\Cake\Event\Event $event)
{
$usersTable = TableRegistry::get('Users');
$users = $usersTable->find('all');
$this->set('data', $users );
}
和default.ctp
<?php
foreach($data as $users){
echo '<li class="tree-submenu" id="employees-submenu">' .
$users['first_name']. '</li>';
}
?>
我在本地尝试它,它会显示表用户中的所有名字。