Sure, you've learned the essentials of using Eloquent in your applications, but do you really understand what's going on under the hood? Well, that's specifically what we're interested in for this series. How do all the bits and pieces fit together?
Before we dive into Eloquent, let's build the world so that we may toy around. As part of the process, we'll create some migrations, models, and seed classes.
Our starting point is a laughable one: Post::find(1). It's literally the first thing you learn how to do with Eloquent. But, think about it, do you fully understand what happens behind the scenes, when you make this call?
Okay, so we can do things like Post::where($args), but there's just one problem: where exactly is that where method stored? It's definitely not on our Model class!
Okay, let's move to a lower level, and figure out how the query builder actually constructs these SQL queries and passes them to PDO.
The reality is that there's significant complexity to a full-featured ORM, like Eloquent. One area where this is immediately apparent is eager loading. In this episode, as best as we can, we'll decode this process, piece by piece. How exactly does Post::with('comments')->get() work underneath the hood?