You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel使用Project::where查询时调用mapInto()方法报错求解

报错原因

mapInto() 是 Laravel 集合(Collection) 提供的方法,执行Project::where('user_id', auth()->user()->id)得到的是Illuminate\Database\Eloquent\Builder查询构造器实例,并未实际执行SQL查询获取结果,因此不存在mapInto方法,触发报错。Project::all()会直接执行查询返回集合实例,所以可以正常调用mapInto方法。

解决方案

在where条件后追加->get()方法触发SQL查询,获取结果集合后再调用mapInto即可,修改后的代码如下:

Project::where('user_id', auth()->user()->id)->get()->mapInto(ProjectResource::class)

如果你的User模型已经定义了projects关联关系,还可以使用更简洁的关联查询写法:

auth()->user()->projects->mapInto(ProjectResource::class)

内容的提问来源于stack exchange,提问作者Bình Nguyễn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 00:54:02