转换Laravel中的特定字段?

时间:2016-11-30 10:50:29

标签: php laravel laravel-5 laravel-collection

如何在Laravel中转换特定字段?

例如:

$user = \Auth::User();
return [
    'user_id'  => $user->id,
    'articles' => $user->articles,
    'pages'    => $user->pages,
];

$user->articles会在articles表中显示$user->pages表和pages的条目。

在用户模型中,它将被定义为:

public function articles()
{
    return $this->hasMany(Article::class);
}

我不想返回$user->articles中的所有字段,只是id,name和description。改造这个系列的好方法是什么?

我想做点什么:

'articles' => transformArticle($user->articles),

2 个答案:

答案 0 :(得分:1)

在关系中:

 return $this->hasMany('Article::class')->select(array('id', 'name','description'));  

或者无论何时需要它:

User::with(array('articles'=>function($query){
        $query->select('id','name','description');
    }))->get();

答案 1 :(得分:0)

Transformers

也许你需要这个。