问题标签 [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.

0 投票
1 回答
46 浏览

laravel - 在laravel api中对关系资源进行分页

我有两个模型,User每个Comment模型User可以有多个Comment,我可以调用并paginate(3)在每页输出User3 ,但我需要与UserCollection中的评论相同的东西。是否可以通过分页来限制评论?UserUserUserCollection

0 投票
1 回答
76 浏览

php - Laravel 资源将我的关联数组转换为标准数组

PHP 7.4.16 和 Laravel 8.61

我的代码中有以下代码Resource

哪里$ta->id是整数。

当我打印Resource::collection一个项目的 时,我可以看到associations带有正确 id 的键正在打印。

但是,当我打印单个资源 ( new Resource(item)) 时,该associations数组将变为标准数组。

为什么会这样?有什么解决方法吗?

0 投票
1 回答
38 浏览

laravel - 即使不询问属性,Laravel 自定义属性也会加载关系

我有一个计算小队名称的自定义属性(使我们的前端团队生活更轻松)。

这需要加载一个关系,即使该属性没有被调用/询问(这发生在spatie query builder,模型上的一个allowedAppends数组被传递给查询构建器和一个带有所需追加的 GET 参数)它仍然加载关系。

注意:squad_name如果在上面的示例中没有被询问,则不会返回,但是无论如何,关系仍然被加载

我发现的一个可能的解决方案是编辑资源并包含 if ,但这严重降低了代码的可读性,我个人不是粉丝。

如果在没有使用多个 if 向我的资源发送垃圾邮件的情况下不询问属性,是否有另一种方法可以避免加载关系?

0 投票
0 回答
63 浏览

laravel - Laravel 资源中的多对一

我使用 laravel 8 并有 3 个表:产品、产品价格和产品发布者: 在此处输入图像描述

这是我的这种关系的产品模型:

这是我的发布者关系的 productsPrice 模型:

现在,我想为我的 api 使用 laravel 资源,我写了产品资源:

但是在 lastPrice 资源中,当我这样写时:

它给了我这个错误:

此集合实例上不存在属性 [id]。

当我使用此代码时:

得到响应,但因为我需要在我的 lastPirce 中为发布者使用另一个关系,所以我不能使用该代码,应该单独返回我的数据。我应该怎么做?谢谢

编辑 1: 这是我的控制器代码:

这是 sendResponse & sendError:

谢谢。


编辑 2: 我将我的 lastPrice Resource toArray 函数更改为此并解决了我的问题,但我认为这不是一个干净的方法,有更好的主意吗?

0 投票
2 回答
152 浏览

php - Laravel - 与资源的关系和加载时不起作用

所以我试图利用资源来控制输出,因为有人告诉我这是为 api 输出建模数据的最佳方法。

客户模型

发票型号:

客户资源:

发票资源:

客户控制器:

但是当我去 API EndPoint

错误从堆栈开始: return CustomerResource::collection($customers->paginate(50))->response();

0 投票
1 回答
38 浏览

json - 使用costom json函数检索数据时分页不起作用

我正在获取数据以进行分页,但分页不起作用,获取响应添加在下面,如果我返回查询关系,它会检索正确的数据,但是当我将其传递给自定义响应函数时,它只获取数据而不是分页链接

这是我的 response_data 功能代码

但是如果直接返回查询,它会使用分页检索数据,这是我由集合检索到的响应

如何解决并获取分页链接以及上面获取的数据

0 投票
1 回答
57 浏览

laravel - 如何从 Laravel 8 中的关系中过滤数据?

我有 3 张桌子业务,服务,服务场所。我需要具有 service_name = $search 的业务服务,并获得选定服务的场所。我正在使用服务和资源方法。

当存在 search_keyword 时,数据不会被过滤。但其他条件正在发挥作用。我怎样才能解决这个问题?

在商业模式

在业务服务模型中

在服务文件中

在服务资源

0 投票
1 回答
38 浏览

laravel - 如何在资源中创建列别名

我正在使用 Laravel 创建一个 API。

我创建了一个名为transaction. 我还创建了一个名为transactionresource.

我想将id列更改key为 API 中的列,并且我不希望 id 在 API 中显示;相反,键应该显示。

我的代码

我收到此错误