/** * @param $trait * @param $faction * @return mixed */ private function getFactionModelsByTrait($trait, $faction) { $modelsQuery = Models::whereHas('traits', function ($query) use($trait) { $query->where('trait', '=', $trait); }); if ($faction) { $modelsQuery->whereHas('factions', function ($query) use($faction) { $query->where('faction', '=', $faction); }); } $models = json_decode($modelsQuery->get()->toJSON()); return $models; }