2015-01-01 41 views
0

我已经定义的关系:Laravel雄辩的支点对象

public function positions() { 
    return $this->belongsToMany('Position', 'users_positions')->withPivot('season'); 
} 

是否有可能在清洁的方式来显示与旋转的物体? 例如:

"positions": [ 
      { 
       "id": 1, 
       "name": "A", 
       "pivot": { 
        "user_id": 1, 
        "position_id": 1, 
        "season": 2014 
       } 
      } 
     ], 

我想获得:

"positions": [ 
      { 
       "id": 1, 
       "name": "A", 
       "season": 2014 
      } 
     ], 
+0

通过显示你的意思是,当你把它转换成一个数组/ JSON? – lukasgeiter

回答

1

使用accessor

public function getSeasonAttribute() 
{ 
    return ($this->pivot) ? $this->pivot->season : null; 
} 

然后你就可以访问它,就像其他属性:

$position = $someModel->positions->first(); 
$position->season; 

如果您还需要在toArray/toJson输出,然后在你的模型使用:

protected $appends = ['season'];