Laravel Eloquent从以前的关系/枢轴获得价值

时间:2018-04-14 23:30:16

标签: laravel eloquent

我有很多结果来自于通过多对多关系的热切加载。我需要过滤一件事,我有这个输出:

"id_stats":32,
"n_stats":"Mastery",
"image_stats":null,
"pivot":{  
   "id_equipement":11,
   "id_stats":32,
   "weight":"235",
   "rand-elem":"3"
},
"elements":[  
   {  
      "id_elements":2,
      "n_elements":"Feu",
      "pivot":{  
         "id_stats":32,
         "id_elements":2,
         "id_equipement":15
      }
   },
   {  
      "id_elements":3,
      "n_elements":"Eau",
      "pivot":{  
         "id_stats":32,
         "id_elements":3,
         "id_equipement":13
      }
   }
]

我必须在pivot(parent)上过滤设备.id_equipement = elements.id_equipement否则我会得到整个表的结果。我可以像这样过滤我的结果。我已经尝试在belongsToMany关系中添加内部联接,但它没有帮助!

以下是我的部分代码:

EncyclopedieModel.php

public function stats(){
    return $this->belongsToMany(StatsModel::class, 'equipement_stats', 'id_equipement','id_stats')
        ->withPivot('weight')->withPivot('random');
}

StatsModel.php

public function elements(){
    return $this->belongsToMany(ElementModel::class, 'stuff_equipement_stats_elements', 'id_stats', 'id_elements')
        ->withPivot('id_equipement');
}

谢谢!

0 个答案:

没有答案