cakephp$使用或请求操作

cakephp$使用或请求操作,php,cakephp,Php,Cakephp,我需要从6个模型中获取数据。我不能使用关联,因为它们不相关。那么,我应该使用什么呢?$uses或请求操作或任何其他解决方案您可以尝试$uses,或者,如果您只想在需要时和需要时加载模型,可以使用loadModel()。就性能而言,LoadModel比$uses更好。您可以尝试$uses,或者,如果您只想在需要的时间和地点加载模型,可以使用LoadModel()。LoadModel比$使用的性能更好。我不同意Travis的观点。使用loadModel要好得多,这样您就可以确保在需要时加载所需的内容

我需要从6个模型中获取数据。我不能使用关联,因为它们不相关。那么,我应该使用什么呢?
$uses
请求操作
或任何其他解决方案

您可以尝试$uses,或者,如果您只想在需要时和需要时加载模型,可以使用loadModel()。就性能而言,LoadModel比$uses更好。

您可以尝试$uses,或者,如果您只想在需要的时间和地点加载模型,可以使用LoadModel()。LoadModel比$使用的性能更好。

我不同意Travis的观点。使用loadModel要好得多,这样您就可以确保在需要时加载所需的内容。谁说你不会扩展模型来包含不需要所有其他模型的方法


剪切粘贴对程序员的性能有很大的提升。

我不同意特拉维斯的观点。使用loadModel要好得多,这样您就可以确保在需要时加载所需的内容。谁说你不会扩展模型来包含不需要所有其他模型的方法


剪切和粘贴对程序员的性能有很大的提升。

我建议您使用

ClassRegistry::init("model_name")

相反

例如。 使用
用户
模型

$this->User = ClassRegistry::init('User');

然后你可以做一些查询,比如

$this->User->find("all");

我建议你使用

ClassRegistry::init("model_name")

相反

例如。 使用
用户
模型

$this->User = ClassRegistry::init('User');

然后你可以做一些查询,比如

$this->User->find("all");

按照其他人的建议,您应该使用
Controller::loadModel()

另外,我建议您制作类似于
YourController::\u loadMyMegaData()
的东西,它将加载所有必要的模型并设置数据。这将避免意外加载这些模型,并在以后为您节省任何if块


另外,尽可能避免
requestAction()
,这不仅难看,还会影响性能。(它当然有它的用途,但这种情况并不经常发生:)

正如其他人所建议的,您应该使用
Controller::loadModel()

另外,我建议您制作类似于
YourController::\u loadMyMegaData()
的东西,它将加载所有必要的模型并设置数据。这将避免意外加载这些模型,并在以后为您节省任何if块


另外,尽可能避免
requestAction()
,这不仅难看,还会影响性能。(它当然有它的用途,但这种情况并不经常发生:)

如果你只需要一个
查找
调用所需的关联,我建议使用
bindModel
,请参阅。

如果你只需要一个
查找
调用所需的关联,我建议使用
bindModel
,请参阅。

您可以使用以下选项:

$this->loadModel('ModelName'); 
$this->ModelName->find();

如果仅检索单个字段,而不能使用虚拟字段,则可以使用以下字段:

$this->loadModel('ModelName'); 
$this->ModelName->find();

如果您只检索单个字段,而无法使用虚拟字段

如果您需要在整个控制器中使用虚拟字段,我只想尝试$uses。毕竟,我们使用蛋糕是为了程序员的性能,而不是机器的性能。如果只是一个或两个方法,请尝试其他方法,这样它就不会拖累其他方法。是的,你有道理。我假设他不需要整个控制器的所有6个模型。如果你需要在整个控制器中使用它们,我会尝试$uses。毕竟,我们使用蛋糕是为了程序员的性能,而不是机器的性能。如果只是一个或两个方法,请尝试其他方法,这样它就不会拖累其他方法。是的,你有道理。我假设他不需要整个控制器的所有6个模型。你能提供任何链接来了解更多关于这方面的信息吗,或者你只告诉我如何使用iton php5.x ClassRegistry::init('User')->find('all')也可以工作,而不需要到处创建新对象。@dogmatic69,我更喜欢这样写,因为它看起来更像一个模型样式,也不需要创建多个对象。你能提供任何链接来了解更多关于这个的信息吗,或者你只告诉我如何使用iton php5.x ClassRegistry::init('User')->find('all')也可以工作,而不需要创建所有新对象。@dogmatic69,我更喜欢这样写,因为它看起来更像一个模型样式,也不需要创建多个对象。