如何从Laravel中的-> get()和-> find($ id)获得相似的结果

问题描述 投票:0回答:2

我有一个类别列表。如果用户单击类别,则用户将看到与该类别相关的用户列表,“用户”表具有category_id字段。我正在控制器中使用以下代码。

$category = Category::with('users')->find($id);

但是有一个链接All Category,如果用户单击该链接,则用户将看到所有类别的所有用户。为此,我正在控制器中使用以下代码。

$category = Category::with('users')->get();

单个类别和所有类别的用户都使用相同的视图(HTML文件)。单类别和所有类别的用户都需要分页。

我需要来自->get()->find($id)的相似结果才能在同一视图(HTML文件)中显示结果。

我该怎么做?

php laravel
2个回答
1
投票

因此,后者返回一个集合,而第一个返回一个类别的一个实例,因此您有几个选择,不确定是否可行:

$category = Category::with('users')->find([$id]);

将数组传递给find将返回我相信的集合,或者尝试以下操作:

$category = Category::with('users')->where('id', $id)->get();

0
投票

您可以使用这种方式:

$category = Category::with('users')->where('id', $id)->get();

或创建一个空对象:

$obj = collect();

然后推送到此收藏夹:

$category = Category::with('users')->find($id);
$object->push($category)
© www.soinside.com 2019 - 2024. All rights reserved.