После невозможности найти встроенную функциональность из коробки от eloquent, я пришел к решению, что eloquent на самом деле не выходит за рамки отношений между таблицами.И эту задачу можно решить только с помощью объединений .
Однако Laravel по-прежнему предлагает довольно аккуратный синтаксис для использования объединений таблиц.Laravel предоставляет эту систему через DB Facade .Вот простой пример объединений, которые могут эффективно решить вышеуказанный вопрос, вероятно, наиболее эффективным способом из реляционных баз данных.
$projects = DB::table('projects')
->join('project_categories', 'projects.id', '=', 'project_categories.project_id')
->where('project_categories.main_category',$request->get('mc'))
->select('projects.*')
->get();
Примечание! Не забудьте ввести DB Facade
Вышеприведенное утверждение делает именно то, что было задано.В обоснование того, почему это может быть наиболее эффективным способом для таких случаев использования в реляционных базах данных, является тот факт, что этот оператор будет запрашивать базу данных только один раз.Надеюсь, это кому-нибудь поможет.