Laravel5.6 API 资源集合为什么 Illuminate\Database\Query\Builder::mapInto does not exist ????

file
file
vendor目录我都没有改动过啊,是一开始就缺少文件的吗?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 9
jltxwesley

应该是因为你写的是LoginCollection, 你需要pass一个Collection,但是Movie::find(1)是一个Movie,你改成Movie::all()试试.

5年前 评论
jltxwesley

@ericdemon

你把LoginCollection发出来吧,会容易判断很多.

5年前 评论

@jltxwesley 我感觉会不会是我哪里写错了 或者 文档里的说明我理解错了

5年前 评论
jltxwesley

@ericdemon

这样看LoginCollection是没问题的,如果改成Movie::all()不行的话,有可能是你ModelMovie本身有问题.

5年前 评论

@jltxwesley 我的Movie是模型表,

file
我平时在调用这个模型表的时候,都是可以调用的,刚刚我还特意用了LoginResource生成资源反而可以

file

file

file

5年前 评论
jltxwesley

@ericdemon

之前用LoginCollection,然后你改成Movie::all()之后的错误是什么的?看你已经删了,也许我漏看什么了,我觉得代码是没问题的,或者可能我也没看出 :sweat_smile:

5年前 评论

file
file
file

当我去这个路径里创建这个方法的时候

file
能够成功输出json数据
file
但是,比较遗憾的是,我不知道应该怎么写这个方法。。。因为输出出来的内容都是空的

5年前 评论

@ericdemon 方法用错了!
在路由或者控制器中,LoginResource::collection(Movie::all()) 这个调用是没有问题的;但是在调用 LoginCollection::collection(Movie::all()) 的时候方法错了(个人推测coding的时候有喜欢复制粘贴的习惯吧?)。


正确的写法应该是这样

LoginCollection(Movie::all())


1年多了,估计你用不上了,那就留给后来的coder吧。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!