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

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

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

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

4年前 评论
讨论数量: 8

同求,坐等大神解答

4年前 评论

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

4年前 评论
SimonWang (楼主) 4年前
Epona

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

4年前 评论
ibucoin

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

4年前 评论
颠倒的玉石

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

4年前 评论

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

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

Like this:

protected $appends = [
        'has_one_id'
    ];

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

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

4年前 评论
panda-sir

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

4年前 评论
SimonWang (楼主) 4年前
panda-sir (作者) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!