je les tables de base de données suivantes:CakePHP Comportement Containable ne fonctionne pas comme prévu
products
********
id
title
artist_id
artists
*******
id
profile
rating
person_id
people
******
id
full_name
Avec les associations de modèles suivants:
Product Model
*************
public $belongsTo = array(
'Artist' => array(
'className' => 'Artist'
'foreignKey' => 'artist_id'
)
);
Artist Model
************
public $belongsTo = array(
'Person' => array(
'className' => 'Person'
'foreignKey' => 'person_id'
)
);
public $hasMany = array(
'Product' => array(
'className' => 'Product'
'foreignKey' => 'product_id'
)
);
Person Model
************
public $hasOne = array(
'Artist' => array(
'className' => 'Artist'
'foreignKey' => 'person_id'
)
);
J'ai mis chacun des trois modèles à utiliser le comportement maîtrisable en utilisant:
public $actsAs = array('Containable');
Lorsque j'utilise ce qui suit pour obtenir les détails du produit avec l'art Nom ist:
$this->Product->find('first', array('conditions' => array('Product.id' => $id), 'contain' => 'Person.full_name'))
je reçois l'avertissement:
Model "Product" is not associated with model "Person"
Et je reçois seulement les détails du produit à savoir le nom de l'artiste pas. Pourquoi cela arrive-t-il?