2012-03-02 106 views
0

嗨,我一直在使用cakephp 1个月,我发现这个代码在一个webapp,我正在修复。cakePHP多个模型

$availableParts = $this->Line->Part->getAvailablePartsForLineWithComponentType($id, $componentType['ComponentType']['id'], $selectedParts); 

Line和Part是两个模型,我不明白为什么Line被提到要调用Part模型的方法。

请帮帮我。谢谢!

回答

0

你不说这个代码是从哪里调用的,但是从它的格式来看,我将假定它在lines_controller.php的行为之内。

如果我的假设是正确的,那么通过Line模型呼吁Part模型的方法的原因是Line模型将在线路控制器自动提供,并以Part模式节省了使用获得的这种方法编写代码手动加载Part模型。

这是一种方便,可以提高控制器的一致性,还可以在未调用该行代码并且不需要加载关联模型(延迟加载)的情况下节省内存。

+0

谢谢你,你回答了我的问题 – 2012-03-16 11:35:47

0

不知道代码的上下文是不可能告诉的。所以提供更多信息和代码。

但是从技术上讲,通过关联调用另一个模型是可以的。所以为了您的理解:可以这样做。但为什么它在这种情况下完成是这个代码的前程序员的问题。

+0

对不起,没有规范的上下文。这段代码是在线控制器,我认为这是足够做这样的事情: $ availableParts = $ this-> Part-> getAvailablePartsForLineWithComponentType($ id,$ componentType ['ComponentType'] ['id'], $ selectedParts); – 2012-03-02 11:19:56