Bonsoir,
Petit problème que je n'arrive pas à résoudre (enfin si mais je ne comprends pas pourquoi).
Voici mon MLDR
Projects(<u>project_id</u>,name,#cat_id)
Categories(<u>cat_id</u>,name)
Dans mon modèle Category j'ai donc mis
public $hasMany = array("Project");
et dans mon modèle Project j'ai mis
public $hasOne = array("Category","Client");
Le résultat de
$this->Project->find("all")
me retourne ceci
array(
(int) 0 => array(
'Project' => array(
'id' => '2',
'name' => 'Project1',
'description' => 'Description project1',
'created' => '2012-09-24 11:29:50',
'modified' => '2012-09-24 11:29:50',
'category_id' => '3',
'client_id' => '1'
)
),
(int) 1 => array(
'Project' => array(
'id' => '3',
'name' => 'test',
'description' => 'test',
'created' => '2012-09-24 13:49:19',
'modified' => '2012-09-24 13:49:19',
'category_id' => '3',
'client_id' => '1'
)
)
)
Mais je n'arrive pas à récupérer les informations du modèle Catégorie, si je passe le récursive à 0,1 ou 2 j'ai cette erreur SQL qui apparaît
Column not found: 1054 Unknown column 'Category.project_id' in 'on clause'
Pourtant la jointure a bien été ajouté dans mysql.
En revanche quand je met
public $belongsTo= array("Category","Client");
ça fonctionne. Mais ça ne correspond pas à mon mcd.
Si vous pouviez m'éclaircir là dessus ça serait pas de refus.
Merci.
Bonjour. je pense tu as pas bien compris le fonctionnement des models de cakePHP. La relation $hasOne = array('Categorie'); signifie que ton MRD serait comme ceci :
Projects(project_id,name)
Categories(cat_id,name,#ptoject_id)
D'ou l'erreur SQL :
Column not found: 1054 Unknown column 'Category.project_id' in 'on clause'
.
La relation belongsTo correspond donc a ton MCD.