Closed rydurham closed 11 years ago
Any reason not to do this?
public function create(array $data)
{
// Create the article
$article = \Article::create(array(
'user_id' => $data['user_id'],
'status_id' => $data['status_id'],
'title' => $data['title'],
'slug' => $this->slug($data['title']),
'excerpt' => $data['excerpt'],
'content' => $data['content'],
));
....
return $article->id;
}
That way you get the $id
immediately but don't confused your repository "article" object with a business entity "article" which should (ideally) be separate.
To be clear, I think it could get confusing if you use $this->article
as a business entity "article" rather than the method of data retrieval.
This is yet another place where using ORMs gets weird. They are both a business logic entity (an article, in this example) AND a data-retrieval mechanism.
The more architecture I attempt to apply to code, the more I dislike ORMs....
Yes - I see. That makes sense. I agree it is important to keep the repository "article" and the business entity "article" separate.
Thanks!
Hello,
A question for you about the Impl\Repo\Article\EloquentArticle->create() method.
Are there any disadvantages to doing this instead?
The benefit would be easy access to the newly created Article's Id, which I am trying to get to the controller for other purposes.
Thoughts?
Thank you! Your book is fantastic. ~Ryan