【发布时间】:2022-01-08 09:43:04
【问题描述】:
我正在使用此代码获取数据。
$user = User::where('active', 1)->with(['spots:spot_name,spot_uid'])->get();
这很好用!它获取关系并输出数据。
但是数据看起来像这样。
user_uid: 5
spots: {spot_name: 'backend'}
description: "Test user works in helpdesk"
department: "9"
它显示了我需要的所有数据,但我希望 spot_name 不在其自己的子 json 数组中,而只是将 spot_name 设为 斑点。像这样:
spots: "backend"
我知道这是因为它获得了 2 列,然后我隐藏了 1 列。
这是不可能的,还是我只是走错了路?任何信息都会很棒。
【问题讨论】:
-
如果
spots返回两条记录,比如spots: [{spot_name: 'front_end'}, {spot_name: 'backend'}],会怎样?还是spots是hasOne()或belongsTo()关系?如果是这样,它的名字就很糟糕;应该是spot。此外,$user是->get()的错误变量名,它返回 multipleUser实例;考虑重命名为$users。 -
很抱歉,这些名字已经被删减和更改,因为它们相当长。但是,它被命名为点,因为在该示例中,表是点,但基于点_uid 返回。所以,它只能返回一个。您对 json 显示斑点的投诉是我要删除的。那就是问题所在。我还想从传出的 json 中删除名称点。只留下那 1 个点名。