cakeHP-模型,没有约定/成员的控制器返回null



我遇到cakeHP问题。

这是我的型号:

<?php
class Veranstaltung extends AppModel
{
    var $name = 'Veranstaltung';
    var $useTable = 'veranstaltungen';
}
?>

这是我的控制器:

<?php
class VeranstaltungenController extends AppController
{
    var $name = 'Veranstaltungen';
    public function index()
    {
        $this->set('veranstaltungen',$this->Veranstaltung->find('all'));
    }
}
?>

但CCD_ 1返回null。

我该如何解决此问题?

您忘记了在控制器中包含您的模型。执行此操作时,请在控制器中添加$uses字段,该字段类型为array:

class VeranstaltungenController extends AppController
{
     public $uses = array('Veranstaltung');
     public function index()
     {
         $this->set('veranstaltungen',$this->Veranstaltung->find('all'));
     }
}

文档

如果仍然存在问题,可能需要使用

App::uses('Veranstaltung', 'Model');

在控制器类定义之前。


请忘记var键盘,因为它只用于与PHP4向后兼容。

为了保持与PHP 4的向后兼容性,PHP 5将仍然接受在属性声明中使用关键字var代替(或除了(publicprotectedprivate。然而不再需要var。在5.0到5.1.3的PHP版本中使用var被认为是不可取的,并将发布$this->Veranstaltung0警告,但自PHP 5.1.3以来,它不再被弃用发出警告。

控制器中不需要var $name = 'Veranstaltungen';

还要确保您已正确配置数据库?

然后试试这个:

$this->loadModel("Veranstaltungen");
$this->set('veranstaltungen',$this->Veranstaltung->find('all'));
 <?php
    class VeranstaltungenController extends AppController
    var $uses = array('Veranstaltungen');
    public function index()
    {
        $this->set('veranstaltungen',$this->Veranstaltung->find('all'));
    }
   } 
 ?>  

在您的控制器中尝试

最新更新