euromark hat geschrieben:dann können per console und baking sehr einfach
die entsprechenden verknüpfungen automatisiert werden,
was dein "anfänger" leben 10x einfacher macht

in dem fall erkennt die konsole
- post belongsTo author
- author hasMany posts
Ich habe jetzt ein ähnliches Problem, nur dass mein Projekt schon Models, Controller und Views hat, so dass ich mir diese mit bake wieder überschreiben würde.
Ich habe folgende Tabellen:
posts:
- id
- user_id
- titel
- inhalt
- created
- modified
users:
- id
- username
- password
Die user_id habe ich erstmal von Hand in der Datenbank ausgefüllt.
Jetzt will ich, dass, wenn er die Tabelle posts anzeigt zu der user_id den zugehörigen Namen ausgibt, also beide Tabellen verknüpft werden. Wie mache ich das denn jetzt?
OK, ich glaube die verknüpfung habe ich. Im Model post:
- Code: Alles auswählen
var $hasone = 'User';
und im model user:
- Code: Alles auswählen
var $belongsTo = 'Post';
. Aber wie mache ich jetzt die Ausgabe im View, dass e rmir zur user_id den Benutzernamen ausgibt?
Ich habe schon mal folgendes probiert:
- Code: Alles auswählen
<td
><?php
echo $user->find($post['Post']['user_id'])?></td
>&
;code
Das liefert folgenden Query
[code
]SELECT `Post`
.`id`
, `Post`
.`user_id`
, `Post`
.`titel`
, `Post`
.`inhalt`
, `Post`
.`created`
, `Post`
.`modified`
, `User`
.`id`
, `User`
.`username`
, `User`
.`password` FROM `posts`
AS `Post` LEFT
JOIN `users`
AS `User` ON
(`User`
.`post_id`
= `Post`
.`id`
) WHERE
1 = 1[/code
]Ist ja schon mal gar nicht schlecht
. Nur
die ON
-Klausel stimmt natürlich nicht
. Da müsste stehen
:[code
]User
.id
= Post
.user_id