Модели и доменные объекты

Я прочитал статью о том, как создавать доменные объекты здесь. Автор объясняет, как оформить занятия. Короче говоря, у вас есть класс для каждой сущности реального мира (то есть класс User, Comment, Post и т. Д.) И getters + setters (которые проверяют достоверность данных).

Для отношений один ко многим, например, для всех комментариев, относящихся к одному сообщению, автор использует массив для хранения экземпляров класса Comment в экземпляре класса Post. Но вот что я не понимаю:

$post = new Post();

$post->addComment( new Comment() );
$post->addComment( new Comment() );
$post->addComment( new Comment() );

$postModel = new PostModel();
$postModel->insert( $post ); // Should also insert (or not !) the added comments.

Когда мы собираемся вставить этот новый пост, связанные комментарии могут на самом деле существовать или не существовать (мой пример не имеет большого смысла, так как вы можете комментировать только существующие посты, но это только пример). Должна ли модель проверять каждый, есть ли добавленные комментарии, прежде чем добавлять их?

Также, если вы знаете статью, которая объясняет, как правильно написать модель, в той же философии, которая использовалась автором статьи выше, это было бы неплохо.

1 ответ

Я думаю, для начала вам нужно создать пост, а затем добавить комментарий,

$post = new Post();
$post->populate($postData);
$post->save();
$post->addComment( new Comment() );

или выберите в каком посте вы добавите комментарий

$post = new Post($idPost);
$post->addComment( new Comment() );
Другие вопросы по тегам