LazyLoading
#Laravel
EagerLoadingとは対極で、必要になった場合に呼ばれる
モデルの数が多い場合かつ読み込む必要のない物が多い場合に有効
使用できるのは belongsTo、 hasMany
例)
code:php
$post = App\Post::find(1);
$comments = $post->comments()->get(); // getを呼ぶ前はまだロードされていない
whenLoadedメソッドを使うと、リレーションメソッドを呼ぶ場合でもロード済みでない場合のみクエリを発行?
code:php
$post = App\Post::find(1);
$comments = $post->comments()->whenLoaded('comments')->get(); // commentsがロード済みの場合はクエリは発行しない?
$post->comments()->get(); // この書き方だと、ロード状況に関係なくクエリが発行される?