一对一连表操作,返回数据希望是一维数组

在更换框架后(客户端不动),ORM模型一对一获取数据时
希望返回一维数组,而不是关联的表数据单独在一个数组里面
接口有点多,不希望每一次获取后再单独处理,谢谢!!

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

最后决定先使用下面这个用着,能满足现有需求,谢谢!
file

1周前 评论
讨论数量: 8

同求,坐等大神解答

1周前 评论

第一时间想到的是一个稍微复杂的方法,先将获取到的集合转化为数组,再使用laravel的辅助函数array_dot(),将多维数组平铺成一维数组。

1周前 评论
SimonWang (楼主) 1周前
Epona

在模型中自定义一个 global scope 然后就可以了吧。 不过,本来将一对一关联的对象非要变成一维数组,最好不要这么弄啊。。后面坑会更多。。

1周前 评论
ibucoin

我一般是复用的用ApiResource,不复用的map再处理一层。
用join可以写得比较方便的,用with得多写好些代码,因为默认是 select *

1周前 评论

resource 就可以啊..........应该可以实现你想要的,自定义就好了

1周前 评论

用过一个比较笨但可以实现的方法

通过模型的 $appends 设置需要的关联数据字段,然后通过 getAttribute 将这个关联关系的字段放入

Like this:

protected $appends = [
        'has_one_id'
    ];

public function getHasOneIdAttribute()
    {
        return $this->relationship['id'];
    }
1周前 评论

最后决定先使用下面这个用着,能满足现有需求,谢谢!
file

1周前 评论
panda-sir

嵌套json本来就是很好的 为啥要平铺呢? 你们前端table组件无法解析嵌套json?

6天前 评论
SimonWang (楼主) 6天前
panda-sir (作者) 6天前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!