My question is related to the update section of @tereško's answer in "Who should handle the conditions in complex queries, the data mapper or the service layer?" Below is the code for reference and convenience.
$category = new Category;
$category->setTitle( 'privacy' );
$list = new ArticleCollection;
$list->setCondition( $category );
$list->setDateRange( mktime( 0, 0, 0, 12, 9, 2001) );
// it would make sense, if unset second value for range of dates
// would default to NOW() in mapper
$mapper = new ArticleCollectionMapper;
$mapper->fetch( $list );
foreach ( $list as $article )
{
$article->setFlag( Article::STATUS_REMOVED );
}
$mapper->store( $list );
In this code ArticleCollection
is a collection of Domain Objects, let's call them Article
s. The moment the ArticleCollectionMapper
fetches data from the database, assigning it to $list
, instances of Article
need to be made (for each row). Would the instances of Article
be added to our collection instance ($list
) via a method like $list->addArticle($newArticle)
, should a Factory Object like ArticleFactory
be used for that, or is there another option I haven't considered?