如何从集合 Laravel 中排除某些元素?

How to except some element from collection Laravel?

我向模特提出要求:

$user = User::findOrFail($id)->get();

尝试从 $user 集合中排除某些字段后:

$user = $user->except(['surname', 'is_buyer', 'password']);

但结果我仍然得到了完整的 $user 集合

这里的问题是你没有像你期望的那样collection。您这里有 collection 个模型,因此您将获得所有模型字段。同时使用:

$user = User::findOrFail($id)->get();

真的很奇怪,因为您总是会得到 1 条记录并将其放入 collection。

根据您的需要,您可能只想从数据库中选择一些字段,如下所示:

$user = User::select('id', 'name')->findOrFail($id);

而不是在此处使用 collection。