Php 连接上的Laravel/雄辩变异模型

Php 连接上的Laravel/雄辩变异模型,php,laravel,join,eloquent,mutators,Php,Laravel,Join,Eloquent,Mutators,我正在尝试对模型进行变异,以显示字符串数组而不是对象数组 电流输出 { "id": 1, "company_name": "blah" "language": [ { "name": "English" }, { "name": "French" } ] }, { "id": 2, "company_name": "blah2" "language": [ { "name": "Englis

我正在尝试对模型进行变异,以显示字符串数组而不是对象数组

电流输出

{
  "id": 1,
  "company_name": "blah"
  "language": [
    {
      "name": "English"
    },
    {
      "name": "French"
    }
  ] 
},
{
  "id": 2,
  "company_name": "blah2"
  "language": [
    {
      "name": "English"
    },
    {
      "name": "French"
    }
  ] 
}
期望输出

{
  "id": 1,
  "company_name": "blah"
  "language": ["English","French"]
},
{
  "id": 2,
  "company_name": "blah2"
  "language": ["English","French"]
}
合作伙伴模式
class Partner extends Eloquent
{

   protected $table = 'property_managers';
   protected $visible = array('id','company_name','language');

    public function language(){
       return $this->belongsToMany('Language', 'property_manager_language', 'property_manager_id', 'language_id');
    }

}
语言模型
class Language extends Eloquent
{
    protected $table = 'languages';
    protected $visible = array('name');

    public function propertyManager()
    {
      return $this->belongsToMany('PropertyManager');
    }
}
我通过下面的代码片段访问它

$pm=Partner::with('language')->get()

我研究了变种,但在合作伙伴模型中,它似乎没有击中该属性

public function getLanguageAttribute(){
   //run my code to flatten to array
}
所以我很好奇,如果变异子对连接不起作用,或者如何修改连接的返回。我可以向语言模型添加一个mutator,但这只会修改该特定模型的属性。任何见解都会有所帮助。感谢您的型号

public function getLanguagesAttribute(){
   return array_pluck(collect($this->language)->toArray(), 'name');
}
卢埃戈·普拉巴·康埃斯托

$partner = Partner::find(1);
return $partner->languages;