[英]CakePHP 3 - Setting data from table to default.ctp
我正在尝试将表中的数据设置为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>';
}
?>
但是显然没有设置$ users。 我也尝试在PagesController.php
添加它,但这样做后出现空白屏幕:
public function beforeFilter(Event $event)
{
parent::beforeFilter($event);
}
我需要一些帮助来弄清我所缺少的内容,任何帮助将不胜感激。 谢谢!
当我在设置变量方面遇到问题时,我只需要执行print_r($ users);。 并确定是否显示任何内容。
奇怪的是它在getAllUsers方法中,但是值得注意的是您的echo语句用单引号引起来,并且您也在变量中使用了单引号。 应该尝试将它们分开,因此改为$ user [“ first_name”]。
因此,您只是尝试将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>';
}
?>
我在本地尝试过,它将在表用户中显示所有名字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.