Temat: model / modele do komentarzy
Hej,
mam pytanie natury teoretycznej. Jak podeszli byscie do modelu komentarzy w serwisie spolecznosciowym ? Wiadomo, ze komentarz moze byc zostawiony pod wieloma rzeczami - np. pod wpisem na blogu, pod zdjeciem, pod profilem. W zwiazku z tym pytanie
czy zbudowac jeden ogolny model Komentarz czy moze dla kazdej z tych rzeczy budowac osobny model np. BlogKomentarz, ZdjecieKomentarz itp. ?
Wydaje mi sie, ze chyba lepiej zbudowac ogolny model komentarza np w ten sposob (SQL):
Komentarze
-------------
id
miejsce (pole typu enum - czyli gdzie dany komentarz zostal zostawiony np 'blog', 'profil', 'zdjecie')
klucz_obcy_id - czyli id bloga na ktorym zostal zostawiony komentarz, id profilu, id zdjecia itp.
Pozniej wystarczy tylko odpowiednio zbudowac relacje w CakePHP np. dla komentarzy na blogu:
class Post extends AppModel {
var $name = 'Post';
var $hasMany = array(
'Komentarz' => array(
'className' => 'Komentarz',
'foreignKey' => 'klucz_obcy_id',
'conditions' => array('Komentarz.approved' => '1', 'Komentarz.miejsce' => 'blog'),
'order' => 'Komentarz.created DESC'
)
);
}Co o tym sadzicie ?