为了账号安全,请及时绑定邮箱和手机立即绑定

拉拉维尔等效于用户::所有() 函数

拉拉维尔等效于用户::所有() 函数

PHP
不负相思意 2022-09-12 09:14:57
伙计们我有问题。Laravelapi在我的控制器中,当我使用时,一切都很好,但我需要过滤数据,所以当我使用收集时,它会给我错误。错误是collection$teacher$teachersCall to undefined method Illuminate\\Database\\Query\\Builder::mapInto();我想要过滤后的数据    $teachers = DB::table('users')->where('role', '=', 1);    $teacher = Users::all();    return UserResource::collection($teachers);我试过这个$teachers = DB::table('users')->where('role', '=', 1)->get();$teachers = DB::table('users')->where('role', '=', 1)->get()->toArray();所以我需要解决方案这是我的资源<?phpnamespace App\Http\Resources;use Illuminate\Http\Resources\Json\JsonResource;class User extends JsonResource{    /**     * Transform the resource into an array.     *     * @param  \Illuminate\Http\Request  $request     * @return array     */    public function toArray($request)    {        return parent::toArray($request);    }}
查看完整描述

3 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

试试这个


$teachers = DB::table('users')->where('role', '=', 1);

$teacher = Users::all();

return new UserResource($teachers);


查看完整回答
反对 回复 2022-09-12
?
12345678_0001

TA贡献1802条经验 获得超5个赞

我不知道你的,但在我的环境中,这些代码行工作得很好。尝试使用命令更新您的拉拉维尔。composer update



查看完整回答
反对 回复 2022-09-12
?
当年话下

TA贡献1890条经验 获得超9个赞

return UserResource::collection(User::where('role', '=', 1)->get());这应该对你有用,你能试试吗?


更新


您仍然可以将表与 连接,但如果您真的想使用eloquentDB::Table()


然后你必须像这样指定你的方法。toArray()


    public function toArray($request)

    {

        // return parent::toArray($request);

        return [

            'role' => $this->role,

            'id' => $this->id,

            'name' => $this->name,

            'email' => $this->email,

            'created_at' => $this->created_at,

            'updated_at' => $this->updated_at,

        ];

    }

并会给你结果。return UserResource::collection(DB::table('users')->where('role', '=', 1)->get());


查看完整回答
反对 回复 2022-09-12
  • 3 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信