2012-03-02 108 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