У меня есть модель Produto (Product), которая принадлежит Titulo (Title).
У Pedido (Order) есть много Itens, а Itens принадлежит к Produto (продукту).
однако после того, как я использую find (все), используя модель Pedido, содержащую Itens с Produto, следующая находка Produto, содержащая и рекурсивная функция работает, вот пример:
$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;
Первый pr из $ proModel-> find работает нормально и печатает связанный с ним ‘Titulo’, однако, после $ pedModel-> find, тот же самый $ proModel-> find не печатает ассоциацию ‘Titulo’.
У меня нет метода afterFind.
РЕДАКТИРОВАТЬ:
Я pr ($ proModel-> ownTo), и он меняется после $ pedModel-> find. Все ассоциации исчезают, кроме тех, которые используются в разделе содержимого $ pedModel-> find.
Если я использую новый Produto вместо ClassRegistry :: Init (‘Produto’), он работал нормально, но я думаю, что это не очень хорошая вещь, верно?
Это отстой.
Это ошибка CakePHP:
https://github.com/cakephp/cakephp/issues/5992
Вы не можете иметь одинаковые псевдонимы внутри блока размещения.
Один из сотрудников сказал, что это ограничение, для меня это ошибка, поскольку, по крайней мере, она не выдает ошибку.
Других решений пока нет …