问题标签 [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中对关系资源进行分页
我有两个模型,User
每个Comment
模型User
可以有多个Comment
,我可以调用并paginate(3)
在每页输出User
3 ,但我需要与UserCollection中的评论相同的东西。是否可以通过分页来限制评论?User
User
UserCollection
php - Laravel 资源将我的关联数组转换为标准数组
PHP 7.4.16 和 Laravel 8.61
我的代码中有以下代码Resource
:
哪里$ta->id
是整数。
当我打印Resource::collection
一个项目的 时,我可以看到associations
带有正确 id 的键正在打印。
但是,当我打印单个资源 ( new Resource(item)
) 时,该associations
数组将变为标准数组。
为什么会这样?有什么解决方法吗?
laravel - 即使不询问属性,Laravel 自定义属性也会加载关系
我有一个计算小队名称的自定义属性(使我们的前端团队生活更轻松)。
这需要加载一个关系,即使该属性没有被调用/询问(这发生在spatie query builder,模型上的一个allowedAppends
数组被传递给查询构建器和一个带有所需追加的 GET 参数)它仍然加载关系。
注意:squad_name
如果在上面的示例中没有被询问,则不会返回,但是无论如何,关系仍然被加载
我发现的一个可能的解决方案是编辑资源并包含 if ,但这严重降低了代码的可读性,我个人不是粉丝。
如果在没有使用多个 if 向我的资源发送垃圾邮件的情况下不询问属性,是否有另一种方法可以避免加载关系?
laravel - Laravel 资源中的多对一
我使用 laravel 8 并有 3 个表:产品、产品价格和产品发布者:
这是我的这种关系的产品模型:
这是我的发布者关系的 productsPrice 模型:
现在,我想为我的 api 使用 laravel 资源,我写了产品资源:
但是在 lastPrice 资源中,当我这样写时:
它给了我这个错误:
此集合实例上不存在属性 [id]。
当我使用此代码时:
得到响应,但因为我需要在我的 lastPirce 中为发布者使用另一个关系,所以我不能使用该代码,应该单独返回我的数据。我应该怎么做?谢谢
编辑 1: 这是我的控制器代码:
这是 sendResponse & sendError:
谢谢。
编辑 2: 我将我的 lastPrice Resource toArray 函数更改为此并解决了我的问题,但我认为这不是一个干净的方法,有更好的主意吗?
php - Laravel - 与资源的关系和加载时不起作用
所以我试图利用资源来控制输出,因为有人告诉我这是为 api 输出建模数据的最佳方法。
客户模型
发票型号:
客户资源:
发票资源:
客户控制器:
但是当我去 API EndPoint
错误从堆栈开始:
return CustomerResource::collection($customers->paginate(50))->response();
json - 使用costom json函数检索数据时分页不起作用
我正在获取数据以进行分页,但分页不起作用,获取响应添加在下面,如果我返回查询关系,它会检索正确的数据,但是当我将其传递给自定义响应函数时,它只获取数据而不是分页链接
这是我的 response_data 功能代码
但是如果直接返回查询,它会使用分页检索数据,这是我由集合检索到的响应
如何解决并获取分页链接以及上面获取的数据
laravel - 如何从 Laravel 8 中的关系中过滤数据?
我有 3 张桌子业务,服务,服务场所。我需要具有 service_name = $search 的业务服务,并获得选定服务的场所。我正在使用服务和资源方法。
当存在 search_keyword 时,数据不会被过滤。但其他条件正在发挥作用。我怎样才能解决这个问题?
在商业模式
在业务服务模型中
在服务文件中
在服务资源
laravel - 如何在资源中创建列别名
我正在使用 Laravel 创建一个 API。
我创建了一个名为transaction
. 我还创建了一个名为transactionresource
.
我想将id
列更改key
为 API 中的列,并且我不希望 id 在 API 中显示;相反,键应该显示。
我的代码
我收到此错误