问题标签 [laravel-resource]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
laravel - 利用 laravel 资源返回 API 数据时更改键名
所以我目前正在构建一个 API,并看到 laravel 添加了一个 API 资源,我假设它代替了分形之类的东西?
但是遇到一个问题,当我使用 XyzCollection 资源返回集合时,我无法更改我的数据库名称?所以我最终得到了与我的数据库中相同的命名约定。
有很多明显的原因为什么我不希望出现这种情况(如果需要,我可以进入它们)但是 - 有没有办法改变这些键名?
例如,在我的一张表中,我有一个 id、uuid、user_uuid 现在在分形中,我将像这样转换这些字段 -
当我所能做的就是在 XyzCollection 中传递集合时,我该怎么做?
在你说使用 XyzResource 之前......当我返回 all(); 像我需要在 API(或分页)等中做很多次的记录等。我只能从 XyzCollection 中做到这一点!
提前致谢
史蒂夫
php - 在 Laravel Nova 中创建新资源的异常 - 找不到类“App\Post”
我有一个全新的 Laravel Nova 安装。仪表板很好。但是,当我使用并重新加载仪表板添加新资源时php artisan nova:resource Post
,它会引发错误。当我从 Nova 文件夹中删除有问题的模型时,仪表板再次工作。我完全按照 Nova 文档中的分步说明进行操作。我想不通。
导航.blade.php
我看到 Blade 正在调用@foreach($resources as $resource)
,这是我假设代码失败的地方。文档说:
“自动注册——默认情况下,app/Nova 目录中的所有资源都会自动注册到 Nova。您不需要手动注册它们。在您的 Nova 仪表板中可用资源之前,您必须向 Nova 注册它们。资源获取在您的 app/Providers/NovaServiceProvider.php 文件中注册。该文件包含与您的 Nova 安装相关的各种配置和引导代码。
但是当我查看app/Providers/NovaServiceProvider.php
没有列出资源时:
不幸的是,当我粘贴建议的代码以手动注册资源时,它仍然不起作用。
laravel - 使用 laravel 一次调用多个 API 资源
我正在使用 Laravel 的 API 资源将资源转换为 API 调用的数组,并且它工作正常,我是否可以在一次调用中检索多个模型的数据?至于获取用户的 JSON 数据以及 Pages JSON 吗?或者我需要为此单独打电话。
这是我到目前为止所尝试的
任何帮助将不胜感激
php - Laravel 5.6:自定义分页资源集合元和链接属性
如何自定义 Laravel ResourceCollection 元和链接信息。
链接应仅包含 prev、next 和 self而不是默认情况下的 first、last、prev、next。
元应包括分页信息,如:current_page、total_items、items_per_page、total_pages而不是 current_page、from、last_page、path、per_page、to、total。
这是元和链接信息现在在 JSON 响应中的样子:
..我希望它是这样的:
php - 在 Eloquent 资源中使用分页会在 Laravel 中引发 Undefined Property $id 错误
我正在尝试构建一个应用程序,Laravel 5.7
其中我有一个名为CompanyBehaviour
:
我有一个资源文件:
在我的控制器中获取数据时我需要使用它:
但是当我调用这个时,我得到了分页错误:
未定义属性:Illuminate\Pagination\LengthAwarePaginator::$id
跟踪表示:
说明'id' => $this->id,
这条线。我浏览了Laravel Resource API的文档,但找不到我做错的地方。帮我解决这个问题。谢谢。
laravel - Laravel API 资源中的多级关系
我的问题是,我真的不需要加载 api 资源。查看我的 Api 资源文件
//BoxItemResource.php
//ItemResource.php
//条件资源.php
//控制器
我的问题是,我只需要 BoxItem 和 Item 这里。我真的不想加载条件。如果我从 ItemResource.php 中删除条件关系,它将起作用。但问题是我在需要此条件的其他地方使用 ItemResource.php。
是否可以在这里否认装载条件关系船。
更清楚地说,我想加载我在 controller(in ->with()) 中提到的关系。
提前致谢。
laravel - 在 laravel api 中返回带有 json 的响应会删除集合分页链接
我正在使用 laravel 进行网络服务。我想返回这样的集合:
返回响应()->json([数据=> $data]);
我正在使用 laravel api 资源来转换集合。这是我的资源:
当我将集合传递给资源时,例如:
一切正常。如果我返回 $data,则分页链接和元数据正在返回并且没有问题。
但是如果我用 response()->json() 返回数据,如下所示,所有关于“元”和“链接”的数据都将被删除!其他一切都很好。
为什么从数据中删除分页数据和链接?有什么我错过的吗?
php - 无法在 Laravel 的编辑表单中检索旧数据
我想在按下编辑按钮时获取该 ID 的数据。我的所有字段都为空。我正在使用同一页面进行创建和编辑。
更新功能
编辑按钮
管理表格
我在其他一些表上使用相同的功能技术,有些工作正常,有些则不行。谁能告诉我我在哪里做错了。
laravel - Laravel 资源忽略给定字段
我正在尝试将给定的 API 响应转换为易于使用的东西。
这是我到目前为止所拥有的:
控制器:
文件收集资源:
文件资源:
这是我得到的结果:
因此,您可以看到资源类型是正确的,但由于某种原因,FileCollection 中的“元”不存在,File资源中的字段也不存在。仍然显示所有字段,例如 30+(而不是 FileResource 中请求的 8 个)。
我在这里错过了什么吗?
编辑:
当使用 toArray() 方法 ( $collection->toArray(null)
) 访问集合时,我确实得到了适当的结果:
那么我现在如何确保这个集合使用 FileResources 的 toArray() 呢?(我仍然得到超过 30 个字段,而不是 8 个)。
PS:我真的不明白为什么我需要调用 toArray(),在他们的文档中没有任何地方写:https ://laravel.com/docs/5.8/eloquent-resources 。
php - 是否可以通过 [Web] Guard 使用 Laravel 资源?
我正在使用 Ajax 请求来获取数据,它返回一个 Json 响应数据,这与我在创建 API 时将返回的数据相同。
问题是:我可以使用 (web), (API) Guards 创建 Laravel 资源类并返回该数据吗?
auth.php 文件