Merge pull request #895 from TomorrowToday/develop
Eloquent docs update: eager loading using $includes example
This commit is contained in:
commit
06154abe8d
|
@ -406,6 +406,28 @@ ## Eager Loading
|
||||||
|
|
||||||
$books = Book::with(array('author', 'author.contacts'))->get();
|
$books = Book::with(array('author', 'author.contacts'))->get();
|
||||||
|
|
||||||
|
If you find yourself eager loading the same models often, you may want to use **$includes** in the model.
|
||||||
|
|
||||||
|
class Book extends Eloquent {
|
||||||
|
|
||||||
|
public $includes = array('author');
|
||||||
|
|
||||||
|
public function author()
|
||||||
|
{
|
||||||
|
return $this->belongs_to('Author');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
**$includes** takes the same arguments that **with** takes. The following is now eagerly loaded.
|
||||||
|
|
||||||
|
foreach (Book::all() as $book)
|
||||||
|
{
|
||||||
|
echo $book->author->name;
|
||||||
|
}
|
||||||
|
|
||||||
|
> **Note:** Using **with** will override a models **$includes**.
|
||||||
|
|
||||||
<a name="constraining-eager-loads"></a>
|
<a name="constraining-eager-loads"></a>
|
||||||
## Constraining Eager Loads
|
## Constraining Eager Loads
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue