模型关联:
我想获取所有VwClientes
,其中InfoFaturamento
等于参数传递的id。可以在不使用连接选项的情况下执行此操作吗?
这是我试过的代码。它返回了所有ContratoCliente
:
$test = $this->InfoFaturamento->Contrato->ContratoCliente->find('all', [
'contain' => [
'Contrato' => [
'InfoFaturamento' => [
'conditions' => [
'InfoFaturamento.id' => $idInfoFaturamento
]
]
]
],
]);
debug($test); die();
所有关联都在模型中设置。
我知道我可以使用递归选项来执行此操作,但我不想使用它,因为它返回了大量不必要的数据并且速度很慢。我也可以使用连接,但使用连接是一种很好的做法吗?
答案 0 :(得分:1)
在这种情况下使用可包容的行为确实非常繁忙,并且会检索大量不必要的数据。您可能必须解除绑定并取消设置不需要的链接。
作为替代方案,我建议你使用连接。它的速度更快,更灵活,特别适用于您所提及的情况。
您可以参考以下链接:
CakePHP CookBook: Associations and joins
CakePHP: Joining multiple tables
希望这有帮助。
和平!的xD