Ich habe 2 Tabellen (Benutzer und Technologien) und ich muss Daten von ihnen beide separat in einem 3. Controller abrufen.Mehrere Daten abrufen CakePHP 3
Ich kann das mit loadmodel tun und find() und dann die Daten über $ this-> set() anzeigen, aber dadurch wird die Website sehr langsam> 70s und wenn ich nur eins suche, funktioniert es schnell.
Also im Grunde muß ich meine Abfrage zu optimieren und zu beschleunigen meine DB
hier ist mein Code.
$users = $this->loadModel('Users');
$datas=$users->find('all')->select(['id','phone', 'first_name','last_name','birthday','email','website', 'address', 'resume', 'cv_url'])->where(['id' => 1])->bufferResults(false)->ToArray();
$technologies = $this->loadModel('Technologies');
$technologies=$technologies->find('all')->select(['id', 'name', 'slug', 'image', 'exp', 'exp_perc'])->bufferResults(false)->ToArray();
$this->set(compact('datas','technologies'));
wie Sie sehen können, ich habe nur zwei Abfragen aber im Debug es zeigt, 10 und TABLE_SCHEMA nahm 35322ms und sein genanntes 2 Mal (35322 * 2)
Jeder Vorschlag ist willkommen.
Ich würde vorschlagen, dass Sie mehr Informationen zu Ihrer Frage hinzufügen, wie es aussieht, werden Sie wahrscheinlich nicht viel Hilfe bekommen, da es sich um ein nicht reproduzierbares Problem handelt. Wie, welches DBMS benutzt du? Wie sehen die resultierenden Abfragen aus? Wie viele Datensätze werden abgerufen? Wo genau wird die Zeit verbracht (benutze einen Profiler, um das herauszufinden)? etc ... – ndm