我正在尝试从我的数据库访问数据,因为我的标题描述了我的结构我有3个模型和1个控制器, 我的问题是我不确定我应该把ff放在哪个函数中:
FruitsController:
$this->set('apples', $this->Apple->find('all'));
$this->set('oranges', $this->Orange->find('all'));
$this->set('bananas', $this->Banana->find('all'));
这样我就可以在视图中访问它们/使用这种方法查看它们的数据(它们里面有什么):
<?php pr($apples); ?>
<?php pr($oranges); ?>
<?php pr($bananas); ?>
tnx并感谢所有帮助
答案 0 :(得分:2)
您可以在Controller类的函数中添加它.. Source
$this->loadModel('Apple');
$this->loadModel('Orange');
$this->loadModel('Banana');
或者您可以添加到控制器.. Source
public $uses = array('Apple', 'Orange', 'Banana');
之后你可以定义
$this->set('apples', $this->Apple->find('all'));
$this->set('oranges', $this->Orange->find('all'));
$this->set('bananas', $this->Banana->find('all'));
您可以在视图文件中使用它......
答案 1 :(得分:-2)
如果要加载模型以仅获取特定函数的数据,则可以在该函数中使用loadModel。它将确保仅在调用函数时才加载模型amd将仅在函数内可用。
$this->loadModel('Apple');
$this->loadModel('Orange');
$this->loadModel('Banana');
其中
public $uses = array('Apple', 'Orange', 'Banana');
将使模型在整个控制器中可用,但会增加控制器的加载时间。 如果你只想要表的记录而不是相关的表,那么设置recursive = -1
是一个好习惯。