问题标签 [thephpleague-fractal]

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 回答
3313 浏览

php - 基于光标的分页和 UUID

我正在考虑实现 UUID 来代替自动增量 ID,并且想知道是否或如何将基于光标的分页与 UUID 集成。

通过简单的自动增量,我可以简单地在当前 ID 上添加/减去以找到我的下一个/上一个,但这对于 UUID 是不可能的。

在时间戳列上使用光标作为 created_on / modified_on 会更有意义吗?

我正在使用 Laravel 4,PhpLeague\Fractal ( https://github.com/thephpleague/fractal ) 并正在考虑引入 Rhumsaa\Uuid ( https://github.com/ramsey/uuid )

0 投票
1 回答
872 浏览

php - 如何使可用包括在 phpleague/fractal 中的工作

我在实施 Fractal 包含时遇到了麻烦。我正在尝试包含特定用户的帖子。

当我在我的 UserItemTransformer 顶部将“帖子”添加到$defaultIncludes时,一切顺利。帖子按预期包含在内。但是,当我将 $defaultIncludes 更改为$availableIncludes时,即使在调用之后,帖子也不包含在我的 json 输出中$fractal->parseIncludes('posts');

问题似乎在于包含帖子的方法仅在我使用 $defaultIncludes 时才被调用。当我使用 $availableIncludes 时,它永远不会被调用。

我可能在这里遗漏了一些明显的东西。你能帮我看看它是什么吗?

这有效:

不起作用

0 投票
1 回答
3787 浏览

php - Using parseincludes in Laravel5 Fractal

Struggling using parseIncludes in https://github.com/thephpleague/fractal.

I have two tables, Property and Weeks. Each property has many weeks. Using Fractal I can return my property item with a collection of weeks. What I want to do is use parseIncludes, so that the return of weeks is optional.

PropertyTransformer.php

WeekTransformer.php

My PropertyController.php

I get the following error on the parseIncludes:-

Method 'parseIncludes' not found in class \League\Fractal\Scope

I'm following the guide here on transformers - http://fractal.thephpleague.com/transformers/

I think I am going wrong somewhere here where it says:-

These includes will be available but can never be requested unless the Manager::parseIncludes() method is called:

If I remove the parseIncludes, I don't get an error, I also get my property data with my collection of weeks, but ?include=week doesn't work to optionally get it.

0 投票
2 回答
2532 浏览

php - Laravel 5.1 和 Fractal:包括转换器上的数据透视表数据

表:contactcompany以及具有自定义数据透视属性的关系表company_contact (company_id, contact_id, is_main)

公司和联系人具有多对多关系(belongsTo在两种模型上)。

检索公司联系人时的预期输出:

当我检索联系人列表时的预期输出?include=companies

添加数据透视表属性的最佳方法是什么?is_main如果设置了属性,添加公司转换器似乎不是很干净。

对于第一个示例,我正在考虑使用以下参数?include=company_relationship:company_id(1)

我了解如何检索数据透视表(相关:Laravel 5.1 - 三个表之间的数据透视表,更好的选择?)但不是在https://github.com/thephpleague/fractal Transformer 逻辑中添加它的最佳方式。

我已经有一个 ContactTransformer 和 CompanyTransformer 但如果我添加is_main到 CompanyTransformer 我所做的所有呼叫(与联系人相关或不与联系人相关)也将期望该属性。

0 投票
1 回答
497 浏览

php - Laravel Fractal 不会从包含关系返回元数据

这是我PostTransformer包含关系的地方

这也应该导致评论与元的关系。但这里的问题是我没有得到包含关系的元数据。如果有人可以帮助我解决这个问题。

0 投票
2 回答
2078 浏览

php - 具有不同序列化器的分形转换器,用于嵌套项目和集合

为了改变 Laravel 5.4 RESTful API 发送的 JSON 输出,我使用了 thephpleague 的 Fractal 包。因为将来会添加分页,所以集合使用默认的 DataArraySerializer 并且单个项目使用 ArraySerializer 很重要。还需要为更深的嵌套对象赋予相同的结构。我怎样才能实现这一点(全球或不)?

0 投票
2 回答
4672 浏览

php - 我可以使用转换器来转换来自 API 而不是来自数据库的数据吗?

我一直在使用 laravel 来构建我的 API。我使用转换器从模型对象转换数据。

现在不是数据库,而是来自作为数据源的 API 的响应,我想将该数据转换回用户,但我无法这样做。

我的控制器

我的变压器

这里的 OnboardingEntity 是指理想情​​况下来自数据库的数据。这里我不是从数据库中获取数据,而是我的数据来自 API 源。我该怎么做。我在这里有点困惑。有人可以给出解决方案吗?

$result 有以下响应

0 投票
3 回答
25371 浏览

php - 用于集合的 Laravel 5.5 API 资源(独立数据)

我想知道是否可以为项目资源和集合资源定义不同的数据。

对于收藏,我只想发送['id', 'title', 'slug'],但项目资源将包含额外的详细信息['id', 'title', 'slug', 'user', etc.]

我想实现类似:

PageResourceCollection将无法按预期工作,因为它使用PageResource所以它需要

我可以将资源复制到PageFullResource/PageListResourcePageFullResourceCollection/PageListResourceCollection但我试图找到一种更好的方法来实现相同的结果。

0 投票
0 回答
1587 浏览

laravel - Laravel 分形变压器 - 不包括在内

我在 laravel 5.3 中使用分形包。我有一个hasMany与视频有关系的播放器模型,所以一个播放器有很多视频。

播放器型号:

视频型号:

我正在尝试发送播放器数据并包含视频数据。这是控制器中的代码:

这是PlayerTransformer

我正在获取播放器数据,但我没有得到任何视频。这不起作用,但是如果尝试使用视频会更奇怪,我什至没有在其转换器中包含功能:

但是,当我尝试在其中包含玩家数据时,它会起作用:

然后我尝试对视频转换器应用相同的设置并删除播放器转换器中的$availableIncludesand includeVideos ,但它再次在那里不起作用。我究竟做错了什么?

0 投票
1 回答
898 浏览

php - 使用分形从数组解码到自定义 PHP 对象

使用联盟/分形,我正在尝试将数据从数组转换为我的 PHP 对象...以下列方式

我的对象定义

在这里测试实现

但我得到这个错误

编辑 1

我尝试将数组包装到 Fractals 集合中,即

它现在返回一个实例League\Fractal\Scope而不是我的 StatusObject 实例

编辑 2

添加 ->toArray() 让我回到第一个错误

见屏幕截图:https ://gmkr.io/s/5a0b755c683d0d77313ff0fa/0