Bonjour,
J'ai un petit problème concernant la récupération de données avec un BelongToMany.
En effet j'ai 4 tables
Table Users
public function initialize(array $config)
{
$this->hasOne('Profils',['foreignKey' => 'user_id']);
$this->hasMany('Projects', ['foreignKey' => 'user_id', 'dependent' => true, ]);
$this->belongsToMany('Skills');
}
Table Skills
public function initialize(array $config)
{
$this->belongsToMany('Users');
}
Table skills_users
pas déclaré uniquement en base de donnée
Table Projects
public function initialize(array $config)
{
$this->belongsTo('Users', [ 'foreignKey' => 'user_id', 'joinType' => 'INNER' ]);
$this->belongsTo('Categories',[
'foreignKey' => 'categorie_id'
]);
$this->addBehavior('Timestamp', [
'events' => [
'Model.beforeSave' => [
'created_at' => 'new',
'update_at' => 'always'
]
]
]);
}
Donc chaque projet appartient à un utilisateur et un utilisateur à un/plusieurs skills
lorsque je liste tout les projets, je voudrais que ma requête me retourne les skills associés aux utilisateurs concernés
Lorsque je réalise cette requête :
$projects = $this->Projects->find('all')->contain(['Users','Users.Profils','Users.Skills']);
Cela me retourne un tableau skills vide.
Une idée ?
Merci
Bonjour, comme je ne comprends pas vraiment votre souci, quoique j'aie une petite idée en tête de ce qui pourrait éventuellement bloquer, je ne vais pas vous dire n'importe quoi, mais je vous conseille de vous référer au cookbook.
Et bien merci du conseil ! j'ai rajouté
'joinTable' => 'skills_users'
à mon association et cela marche.
Merci