2015-06-04 46 views
0

我一直试图加载CakePHP默认页面控制器内的模型,但无济于事。如何在页面控制器中使用CakePHP loadmodel?下面是我的代码:如何在默认页面控制器中使用cakephp loadmodel?

public function display() { 
$this->loadModel('User'); 
    $user = $this->User->find('all'); 
    $this->set('users',$user); 
} 

这里是我的观点,那就是,默认home.ctp:

<?php foreach ($users as $user): 
echo $this->Html->link($user['User']['username'], array('action' =>  'view', $user['User']['id'])); 
?> 
<?php endforeach; ?> 
+1

,什么是你的问题的CakePHP的3.x中的文档? –

+0

你的代码看起来很好。你真正的问题是什么? – drmonkeyninja

回答

0

好像你正在阅读的错误版本文档。 如果你的CakePHP的版本是2.X,你不“负荷”,你说,控制器采用这样的模式:

<?php 
class MyController extends AppController{ 
    public $uses = ['ModelName'];//Setting needed tables/models 

    public function myAction(){ 
    //Now you can keep going normally 
    $this->set('results', $this->ModelName->find('all')); 
    } 
} 

但是如果你的CakePHP是3.x的它似乎有正确的调用,但请确保您已在“src/Model/Table/UserTable.php”下创建了通讯文件。

和选择方法已经更改,请参阅:

<?php 
// in src/Controller/PagesController.php 
namespace App\Controller; 

use App\Controller; 

class PagesController extends AppController{ 
    public function initialize(){ 
    parent::initialize(); 
    $this->loadModel('User'); 
    } 
    public function display(){ 
    $users = $this->User->find()->toArray(); 
    $this->set('users', $users); 
    } 
} 

见超过here

相关问题