搜索

首页  >  问答  >  正文

如何在LARAVEL里优雅的修改输出的JSON的KEY

我有两个MODEL

Product:

protected $visible = ['modules', 'id','name'];
public function modules()
    {
        return $this->hasMany('App\Model\Module','root','id');
    }

Module:

protected $visible = [ 'id','name'];

在控制器里:

$products = $this->product->with(['modules'])->get();

输出:

前端使用的是iview,我想用iview的级联选择
格式要求是:

所以求问,在LARAVEL里,如何优雅的修改json的key,以达到我的需求?

天蓬老师天蓬老师2759 天前677

全部回复(1)我来回复

  • PHP中文网

    PHP中文网2017-05-16 16:49:06

    学会map方法,会方便很多

    $products->transform(function($value) {
        return [value=>$value->id, 
                    label=>$vale->name,
                    children=>$value->modules->map(function($v) {return [label=>$v->name,value=>$v->id];})
                   ];
    });
    return $products->toJson();

    回复
    0
  • 取消回复