Вот структура моих столов;
stu_details
-----------
id INT PK AI
f_name VARCAHR(45)
l_name VARCHAR(45)
dob VARCHAR(45)
subject
----------
id INT PK AI
sub_name VARCHAR(45)
day VARCHAR(45)
subject_has_stu_details(associative table)
-----------------------------------------
id INT PK AI
subject_id INT FK (frm subject table)
stu_details_id INT FK (frm stu_details table)
Мои постоянные классы;
public class SubjectHasStuDetails implements java.io.Serializable {
private Integer id;
private StuDetails stuDetails;
private Subject subject;
public SubjectHasStuDetails() {
}
//getters & setters......
}
public class StuDetails implements java.io.Serializable {
private Integer id;
private String FName;
private String LName;
private String dob;
private Set subjectHasStuDetailses = new HashSet();
public StuDetails() {
}
//getters & setters......
}
public class Subject implements java.io.Serializable {
private Integer id;
private String subName;
private String day;
private Set subjectHasStuDetailses = new HashSet();
private Set teachers = new HashSet();
public Subject() {
}
//getters & setters......
}
Используя hibernate с javaEE, я могу получить данные, как показано ниже;
(Я пытаюсь получить все предметы, связанные со студентом)
Session ss = util.HibernateUtil.getSessionFactory().openSession();
String student_Name="Jhon";
List<SubjectHasStuDetails> stu_sub = ss.
createQuery("FROM SubjectHasStuDetails shs WHERE"+ " shs.stuDetails.FName= :nm").
setParameter("nm", student_Name).list();
for (SubjectHasStuDetails shs : stu_sub) {
System.out.println("Name - " + shs.getStuDetails().getFName()
+ " Subject - " + shs.getSubject().getSubName());
}
вот мой код для бобов;
$subject_table = R::findAll('subject');
foreach ($subject_table as $subject) {
echo $subject->id;
foreach ($subject->sharedTable as $sub) {
echo $sub->sub_name;
}
}
Но в RedBean я не получил точную картину получения данных даже
после представления документации. Любые предложения заметны.
Задача ещё не решена.
Других решений пока нет …