In meiner Anwendung habe ich die folgenden Tabellen:Einrichtung enthält eine Join-Tabelle in CakePHP
Posts
id
title
content
Users
id
username
password
Profiles
id
user_id
firstname
lastname
Comments
id
post_id
user_id
content
Topics
id
title
Topic_Posts
id
topic_id
post_id
Hoffentlich werden die Beziehungen sind ziemlich offensichtlich! Das Problem, das ich habe, ist, dass die letzte Tabelle eine Join-Tabelle für die Viele-zu-viele-Beziehung zwischen Posts und Topics ist. Ich bin mir nicht ganz sicher, wie ich das einrichten soll!
Hier ist meine Modelle für Beiträge, Themen und Topics_Posts:
class Post extends AppModel
{
public $name = 'Post';
public $belongsTo = 'User';
public $hasMany = array('Comment', 'TopicPost');
public $actsAs = array('Containable');
}
class Topic extends AppModel
{
public $hasMany = array(
'TopicPost'
);
}
class TopicPost extends AppModel {
public $belongsTo = array(
'Topic', 'Post'
);
}
Soweit ich die Beziehungen korrekt sind sagen? Und dann in meiner Methode habe ich die folgende Erklärung ab:
$post = $this->Post->find('first',
array('contain'=>
array(
'Comment'=>array('User'=>array('Profile')),
'User'=>array('Comment','Profile')
),
'conditions'=>array('Post.id'=>$id)));
Also im Grunde meiner Frage ist, wie das Thema der hinzufügen enthalten, da ich nicht den Kommentar und Benutzer des Post-Modell hinzufügen musste so nicht sicher, Warum oder was als nächstes zu tun ...
Auch wie würde ich die Themen wieder herausziehen? Wie ich bin verwirrt, wie dies funktioniert, wenn ich beziehe, bin ich auf die Join-Tabelle statt die eigentlichen Themen verlinken ... Es sei denn, ich bin nur weg von der Spur. Hilfe dazu wäre willkommen.
Ehrfürchtig funktioniert super. – Cameron