Nepravidelný PDOException No reference found for…
- tolljump
- Člen | 47
Dobry vecer.
Uz dobre 2 tyzdne ma trapi neskutocna chyba, s ktorou si neviem vobec dat rady a uz som z toho zufaly. Jednoducho v nepravidelnych intervaloch, neviem z akeho dovodu sa dostavam k chybe „No reference found for…“.
Dam konkretny priklad, kde sa tato chyba vyskytuje. Cize je to No reference found for $courses->icon_interactive. Cize premennu $courses vytvaram zo selectu
$this->db->table('courses')->where(array('id'=>$id))->fetch();
, v ktorom si vyberam z jednej tabulky udaje o danom kurze. Lenze k tymto udajom, cize k tomuto polu $courses potrebujem dostat udaje z dalsich 3 tabuliek (ceny,ikonky,kategorie). Robim to nasledovnym sposobom:
//vyberiem si udaje o ikonkach z DB
$icons = $this->db->table('courses_icons')->where('courses_id',$id)->fetch();
//a priradim ich do poli v $courses
$course->icon_interactive = $icons->icon_interactive;
$course->icon_quiz = $icons->icon_quiz;
$course->icon_music = $icons->icon_music;
$course->icon_video = $icons->icon_video;
$course->icon_files = $icons->icon_files;
$course->icon_tutor = $icons->icon_tutor;
$course->icon_case_study = $icons->icon_case_study;
$course->icon_certificate = $icons->icon_certificate;
$categories = $this->db->table('courses_in_categories')->where('courses_id',$id);
foreach($categories as $category){
$cat[] = $category['category_id'];
}
$course->categories = $cat;
//pod. sposobom este ceny......... nepodstatne
Tymto sposobom potrebujem pouzivat v sablonach
$courses->icon_interactive, $course->icon_tutor, ......
Kde je chyba? V com moze byt problem?
Dakujem pekne za rychle a funkcne riesenie
- jiri.pudil
- Nette Blogger | 1032
Jelikož očividně jako databázovou vrstvu používáš Nette\Database, proč pak nepoužíváš taky její API pro relace? To by tě nejspíš podobných problémů zbavilo. Viz hrachova přednáška (cca od 22:30)