我遇到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
代替(或除了(public
、protected
或private
。然而不再需要var。在5.0到5.1.3的PHP版本中使用var
被认为是不可取的,并将发布$this->Veranstaltung
0警告,但自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'));
}
}
?>
在您的控制器中尝试