如何在集合中使用 eloquent ->with 方法
How to use eloquent ->with method on collection
你可能会觉得这个问题很愚蠢。我可能没有做好研究,所以我想在这里问一下。我想知道如何在集合上使用 ->with 或它的等价物。这是代码:
$theLastCommentOfThisPost = $post->comments->with('user')->sortByDesc('id')->first();
我想得到这样的东西:
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[id] => 19
[commentable_type] => App\Post
[commentable_id] => 123
[comment] => totoototo
[is_approved] => 1
[user_id] => 1
[created_at] => 2019-04-01
[updated_at] => 2020-02-04
[user] => App\User Object
(
[id] => 1
[name] => App\Post
[email] => totos@toto.fr
)
)
)
谢谢
如果您想“加载”模型集合的关系,您可以使用 load
方法。
$post->comments->load('user')->.....
虽然不必加载所有评论而只获得一个评论,但您可以通过查询执行此操作:
$post->comments()->with('user')->latest()->first();
不太确定除了这个对象之外您还需要哪些数据。
Laravel 5.8 Docs - Eloquent Collections - Available Methods - load
你可能会觉得这个问题很愚蠢。我可能没有做好研究,所以我想在这里问一下。我想知道如何在集合上使用 ->with 或它的等价物。这是代码:
$theLastCommentOfThisPost = $post->comments->with('user')->sortByDesc('id')->first();
我想得到这样的东西:
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[id] => 19
[commentable_type] => App\Post
[commentable_id] => 123
[comment] => totoototo
[is_approved] => 1
[user_id] => 1
[created_at] => 2019-04-01
[updated_at] => 2020-02-04
[user] => App\User Object
(
[id] => 1
[name] => App\Post
[email] => totos@toto.fr
)
)
)
谢谢
如果您想“加载”模型集合的关系,您可以使用 load
方法。
$post->comments->load('user')->.....
虽然不必加载所有评论而只获得一个评论,但您可以通过查询执行此操作:
$post->comments()->with('user')->latest()->first();
不太确定除了这个对象之外您还需要哪些数据。
Laravel 5.8 Docs - Eloquent Collections - Available Methods - load