Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> rożnica między Category.class.php i CategoryTable.class.php, Framework Symfony ( ORM Doctrine )
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Witam,

Chciałem prosić o wytłumaczenie działania/przeznaczenia dwóch klas generowanych przez Symfony w momencie generowania tabel bazy danych na przykładzie tabeli "Category" , a więc: Category.class.php oraz CategoryTable.class.php ... tylko proszę o przykłady metod z zapytaniami ponieważ o regułkach czytałem (IMG:style_emoticons/default/smile.gif) ...

Chodzi o to że dopiero zaczynam przygodę z Symfony i nie wszystko na początku jest takie jasne jakby się mogło wydawać. Mam wrażenie że nie ma znaczenia w której z tych dwóch klas zrobię sobie metodę z zapytaniem typu:

SELECT * FROM Category

lub

SELECT * FROM Category WHERE is_active = 1

daję tylko proste przykłady bo operuję ogólnie na złączeniach i trochę nie kumam po co są aż DWIE klasy generowane przez Symfony. Przecież wystarczyłaby tylko jedna klasa. Po co dwie ? Może nie mam racji ... hmm


dzięki

Ten post edytował damianooo 14.08.2012, 09:05:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
damianooo
post
Post #2





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat
2. Obiekty Category reprezentują pojedynczy wpis w bazie danych, natomiast obiekt CategoryTable reprezentuje tabelę - w nim powinny znaleźć się metody zwracające dane.


Możesz mi to wytłumaczyć na podstawie poniższych metod :

Bo na przykład w tutorialu z Symfony , w Jobeet jest tak :

w klasie Category:

  1. public function getActiveJobsQuery()
  2. {
  3. $q = Doctrine_Query::create()
  4. ->from('JobeetJob j')
  5. ->where('j.category_id = ?', $this->getId());
  6.  
  7. return Doctrine_Core::getTable('JobeetJob')->addActiveJobsQuery($q);
  8. }


a w klasie CategoryTable :

  1. public function getWithJobs()
  2. {
  3. $q = $this->createQuery('c')
  4. ->leftJoin('c.JobeetJobs j')
  5. ->where('j.expires_at <> ?', date('Y-m-d H:i:s', time()));
  6.  
  7. return $q->execute();
  8. }

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 04:11