Containable 无法在深度关联的情况下正常工作
Containable not working correctly with deep association
我有一个属于 Titulo(Title) 的 Produto(Product) 模型。
Pedido(Order) 有许多 Itens,而 Itens belongsTo Produto(Product)。
但是,在我使用包含 Itens 和 Produto 的模型 Pedido 使用 find(all) 之后,Produto 的下一个 find,contain 和递归函数都起作用,这里是一个例子:
$proModel = ClassRegistry::Init('Produto');
pr($proModel->find('first', array('conditions' => array('pro_cod' => 650), 'contain' => 'Titulo')));
$cart = $pedModel->find('first', array(
'conditions' => array('ped_cod' => $cart['Pedido']['ped_cod']),
'contain' => array(
'Itens' => array(
'Produto' => array(
'Estadia' => array('Atributo', 'Numero'), 'Produtoplataformas'
),
'Troca', 'Locado', 'Tipo',
'Locacao' => array('Plano', 'Itens')
),
'Usuario'
),
'recursive' => -1
));
pr($proModel->find('first', array('conditions' => array('pro_cod' => 650), 'contain' => 'Titulo')));
exit;
$proModel->find 的第一个 pr 工作正常并打印关联的 'Titulo',但是,在 $pedModel->find 之后,同样的 $proModel->find 不打印'Titulo'协会。
我没有 afterFind 方法。
编辑:
我 pr($proModel->belongsTo) 并且它在 $pedModel->find 之后改变。除了 $pedModel->find.
的包含部分中使用的关联之外,所有关联都消失了
如果我使用新的 Produto 而不是 ClassRegistry::Init('Produto'),它工作正常,但我想这不是一件好事,对吧?
这很糟糕。
这是 CakePHP 的一个错误:
https://github.com/cakephp/cakephp/issues/5992
包含块中不能有相同的别名。
一位工作人员说这是一个限制,对我来说,这是一个错误,因为它至少没有引发错误。
我有一个属于 Titulo(Title) 的 Produto(Product) 模型。 Pedido(Order) 有许多 Itens,而 Itens belongsTo Produto(Product)。 但是,在我使用包含 Itens 和 Produto 的模型 Pedido 使用 find(all) 之后,Produto 的下一个 find,contain 和递归函数都起作用,这里是一个例子:
$proModel = ClassRegistry::Init('Produto');
pr($proModel->find('first', array('conditions' => array('pro_cod' => 650), 'contain' => 'Titulo')));
$cart = $pedModel->find('first', array(
'conditions' => array('ped_cod' => $cart['Pedido']['ped_cod']),
'contain' => array(
'Itens' => array(
'Produto' => array(
'Estadia' => array('Atributo', 'Numero'), 'Produtoplataformas'
),
'Troca', 'Locado', 'Tipo',
'Locacao' => array('Plano', 'Itens')
),
'Usuario'
),
'recursive' => -1
));
pr($proModel->find('first', array('conditions' => array('pro_cod' => 650), 'contain' => 'Titulo')));
exit;
$proModel->find 的第一个 pr 工作正常并打印关联的 'Titulo',但是,在 $pedModel->find 之后,同样的 $proModel->find 不打印'Titulo'协会。
我没有 afterFind 方法。
编辑:
我 pr($proModel->belongsTo) 并且它在 $pedModel->find 之后改变。除了 $pedModel->find.
的包含部分中使用的关联之外,所有关联都消失了
如果我使用新的 Produto 而不是 ClassRegistry::Init('Produto'),它工作正常,但我想这不是一件好事,对吧?
这很糟糕。
这是 CakePHP 的一个错误: https://github.com/cakephp/cakephp/issues/5992
包含块中不能有相同的别名。
一位工作人员说这是一个限制,对我来说,这是一个错误,因为它至少没有引发错误。