ich gebe einen Versuch, meine Frage zu beantworten, ich bin immer noch ganz mit dieser Unschärfe, hoffe jemand wirklich eine bessere Antwort geben kann,
so 1st die Frage abt zu beantworten wie leite ich mit $friendsWithMe
im Grunde begann ich mit "Decodierung" eine einfachere, häufiger, viele bis viele bidirektionale Beziehung.
- 1 Benutzer kann
- 1 Gruppe in vielen Gruppen sein können viele Benutzer haben
sehr geradlinig. aber wie macht das in SQL Sinn?

Code
# select groups user is in
select group_id from users_groups
where user_id = 1
#select users of group
select user_id from users_groups
where group_id = 1
nun zum eigentlichen Modell ... in SQL

in Code
# select friends of given user
# $user->myFriends
select friend_id from friends
where user_id = 1;
# select users that are friends of given user
# $user->friendsWithMe
select user_id from friends
where friend_id = 1;
implementieren
ah ha! Benutzer auswählen, die Freunde des angegebenen Benutzers sind. So bekomme ich $friendsWithMe
. dann den & mappedBy
& den Rest der Klasse aufzufüllen?
1. Blick auf die untere Note.

nicht klar, ohne so viel und tiefes Denken, ca. 2 Tage. Ich denke,
dann als Praxis wie erstelle ich eine viele zu viele sich selbst Bezug nehmende Beziehung von Grund auf neu?
Das Beispiel, an dem ich arbeiten werde, ist ... hmm, ziemlich beschissen denke ich aber, ich werde versuchen :) ... 1 Benutzer/Schüler kann viele Lehrer haben. 1 Lehrer kann viele Benutzer/Studenten haben. 1 Benutzer kann hier Lehrer und Schüler sein. Sie wissen wie in Foren wie diesen, wenn Sie Fragen beantworten, sind Sie ein Lehrer. wenn u fragt, sind u Student
die ERD wie

einige Codes Studenten des Lehrers aussehen zu wählen, und Lehrer des Schülers
# select students of teacher
# $teacher->students
select student from teacher_student
where teacher = 1;
# select teachers of student
# $student->teachers
select teacher from teacher_student
where student = 2;
ok, die Lehre Teil ?
/** @Entity @Table(name="users")) */
class User {
/**
* @Id @Column(type="integer")
* @GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @Column(type="string", length="30")
*/
private $name;
/**
* @ManyToMany(targetEntity="User", inversedBy="teachers")
* @JoinTable(name="Teachers_Students",
* joinColumns={@JoinColumn(name="teacher", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="student", referencedColumnName="id")}
* )
*/
private $students;
/**
* @ManyToMany(targetEntity="User", mappedBy="students")
*/
private $teachers;
}
, die diese Tabellen für mich
erzeugt
# users
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
#teachers_students
CREATE TABLE `teachers_students` (
`teacher` int(11) NOT NULL,
`student` int(11) NOT NULL,
PRIMARY KEY (`teacher`,`student`),
KEY `student` (`student`),
CONSTRAINT `teachers_students_ibfk_2` FOREIGN KEY (`student`) REFERENCES `users` (`id`),
CONSTRAINT `teachers_students_ibfk_1` FOREIGN KEY (`teacher`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
ich endlich es geschafft! lässt es testen ... ähm ich bin immer
Fatal error: Class 'Entities\User' not found in D:\ResourceLibrary\Frameworks\Doctrine\tools\sandbox\index.php on line 61
wenn ich eine zzz
$user = new User;
zu tun versuchen ...
i auch abt diese Frage und meine explaination gebloggt habe auf meine tumblr
$ user = new User(); – ruipacheco
+1 Für die Klarheit der Frage und Mühe bei der Vorbereitung zusätzlicher Quellenmaterial – calumbrodie
Hallo. Ich habe mit dieser Beziehung Probleme mit der Lehre bekommen. Wenn ich Elemente zu dieser Art von Sammlung hinzufüge, spüle ich und danach entferne ich alle und spüle erneut. Ich empfange 'Die Klasse 'Doctrine \ ORM \ Persisters \ ManyToManyPersister' wurde nicht in den konfigurierten Namespaces der Kette gefunden. ' Wenn ich Gegenstände entferne, aber mindestens eins lasse, funktioniert alles perfekt. Können Sie dieses Verhalten für mich testen? Und wenn Sie nach der Version der Doktrin, die Sie verwenden, keine Probleme bekommen? Ich werde dankbar sein. –