Я хотел бы создать модель для каждого, а затем ссылаться на объект обсуждения только через связанный с ним объект изображения.Таким образом, при публикации нового изображения:
$image = new Image();
$image->setImage($file);
$image->setName($name);
$image->save();
Затем, когда комментарий публикуется, вы используете объект изображения для косвенного создания объекта обсуждения:
$image->addDebate($user, $timestamp, $comment);
Или когдарендеринг отображаемой страницы:
foreach ($image->getDebates() as $debate) {
$debate->print();
}
Ваш объект изображения получит прямой доступ к объекту обсуждения:
class Image
{
public function addDebate($user, $timestamp, $comment)
{
$debate = new Debate();
$debate->setImageId($this->id);
$debate->setUser($user);
$debate->setTimestamp($timestamp);
$debate->setComment($comment);
$debate->save();
}
public function getDebates()
{
return query("select * from debate where image_id = ?", $this->id);
}
}