$executors = Executor::whereHas('directions', function($query) {
$query->where('id_user', auth()->user->id);
})
Как я говорил он выведит все execute то привязка к direction нет, чтобы все это учитывал и ставил индекс id из таблицы direction $direction = Direction::with('execute')->get();
просто я не за компьютером и не смогу сейчас посмотреть все результаты. И данный запрос скорее всего выведит все записи execute не учитываю id_user но можно условие сделать $direction = Direction::with('execute')->where('id_user', Auth::user()->id)->get();
, но не суть, тогда будет второй минус они не будут учитывать execute_direction а именно какие direction принадлежат к execute. То есть индекс должен быть direction.id_direction: [
name: name->direction
execute: [
id_execute: [
id: id_execute
name: name_execute
last_name: last_name_execute
]
id_execute: [
id: id_execute
name: name_execute
last_name: last_name_execute
]
]
]
$id_direction = [];
//Получаем id direction c условие что вывести все значение у авторизованного пользователя
$directions = Direction::where('id_user', Auth::user()->id)->get();
foreach ($directions as $value){
// Сравниваем id который получили из моделе direction с промежуточной таблицы Execute_direction
$directionExecute = Exectue_direction::where('direction_id', $value->id)->get();
foreach ($directionExecute as $item){
//Получаем всех execute c который id direction должен совпадать
$executes = Execute::where('id', $item->execute_id)->get();
foreach ($executes as $key => $execute){
// Выходит многомерный массив из следующий данных id_direction -> id_execute и вписываем id name и last name в массив
$id_direction[$value->id]['name'] = $value->name;
$id_direction[$value->id]['execute'][$item->execute_id]['id'] = $execute->id;
$id_direction[$value->id]['execute'][$item->execute_id]['name'] = $execute->name;
$arr[$value->id]['execute'][$item->execute_id]['last_name'] = $execute->last_name;
}
}
}
dd($id_direction);
id_direction: [
name: name->direction
execute: [
id_execute: [
id: id_execute
name: name_execute
last_name: last_name_execute
]
id_execute: [
id: id_execute
name: name_execute
last_name: last_name_execute
]
...
]
]
....
id_direction: [
name: name->direction
execute: [
id_execute: [
id: id_execute
name: name_execute
last_name: last_name_execute
]
id_execute: [
id: id_execute
name: name_execute
last_name: last_name_execute
]
...
]
]
....