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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

最后决定先使用下面这个用着,能满足现有需求,谢谢!
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年前

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