Example #1
0
 public function getAll($withComments = false)
 {
     $response = [];
     try {
         $query = $this->db->prepare("\n            SELECT temos.*, COUNT(komentarai.id) AS komentaru_sk\n            FROM temos LEFT JOIN komentarai ON komentarai.temos_id = temos.id\n            GROUP BY temos.id");
         $query->execute();
         $query->setFetchMode(\PDO::FETCH_OBJ);
         $resAr = [];
         foreach (new \RecursiveArrayIterator($query->fetchAll()) as $r) {
             //var_dump($r); exit;
             $tema = new self();
             $tema->setData($r->data);
             $tema->setId($r->id);
             $tema->setKomentaruSkaicius($r->komentaru_sk);
             $tema->setPavadinimas($r->pavadinimas);
             if ($withComments) {
                 $comments = $this::getComments($tema);
                 if ($comments['status'] = 'success') {
                     $tema->setKomentarai($comments['data']);
                 }
             }
             $resAr[] = $tema;
         }
         $response['status'] = 'success';
         $response['data'] = $resAr;
     } catch (\Exception $e) {
         $response['status'] = 'failed';
         $response['message'] = $e->getMessage();
     }
     return $response;
 }