讨论数量:
兄弟,一个月了,问题解决了吗?解决了的话能发出来参考下吗?没有的话,我再说一下我的思路。首先你的$data
变量是通过
Model::with(['userTag'])->get();
获取的结果集吗?如果是的话,那这个$data
结果集是一个集合,集合的每一项都是一个 Model 对象。你第一个截图后的 json 数组键名是userTag
,与关联关系的方法名相同,为什么呢?因为将结果集转化为 json 时,是将关联关系的数据做了 json 转换。而你操作
$v->userTag = $v->userTag->pluck('tag_name');
时,实际上是给集合中的每个 Model 对象赋值,并没有给关联关系中的数据赋值,所以 json 的结果不会有变化。
实际操作可以参考下:
$data->map(function($v){
$v->setRelation('userTag', $v->userTag->pluck('tag_name'));
});
遇过。文章和文章标签,返回的话,想要 ["猫", "狗"],我是直接 foreach。但是后面想想,还是直接二维数组就好,拿给前端,前端 React map 的时候,key=id 也可以用得上,主要是知识不够,又想不那么不优雅 :speak_no_evil:
兄弟,一个月了,问题解决了吗?解决了的话能发出来参考下吗?没有的话,我再说一下我的思路。首先你的
$data
变量是通过获取的结果集吗?如果是的话,那这个
$data
结果集是一个集合,集合的每一项都是一个 Model 对象。你第一个截图后的 json 数组键名是userTag
,与关联关系的方法名相同,为什么呢?因为将结果集转化为 json 时,是将关联关系的数据做了 json 转换。而你操作时,实际上是给集合中的每个 Model 对象赋值,并没有给关联关系中的数据赋值,所以 json 的结果不会有变化。
实际操作可以参考下: