繁体   English   中英

CakePHP 3-将数据从表设置为default.ctp

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM