如何从集合 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。
我向模特提出要求:
$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。