Почему foreach я получаю не понятные мне значение?

Есть код
public function index(Request $request)
    {
        $user = Auth::user()->id;
        $arr = [];
        $branch = Branch::where('user_id', $user)->get();
        $direction = Direction::where('user_id', Auth::user()->id)->get();
        $execute = Execute::where('user_id', Auth::user()->id)->get();
        $branchCheckout = $request->input('filter')['branch'] ? Branch::find($request->input('filter')['branch']) : $branch;
        foreach ($branchCheckout as $key => $value){
            if ($request->input('filter')['branch']){
                $room = $branchCheckout->rooms()->get();
            } else {
                $room = Branch::find($value->id)->rooms()->get();
            }
            foreach ($room as $index => $item){
                $arr[$key]['id'] = $value->id;
                $arr[$key]['name'] = $value->name;
                $arr[$key]['room'][$index] = ['id' => $item->id, 'name' => $item->name];
            }
        }
        $clients = Client::where('user_id', Auth::user()->id)->get();
        $date = ['hour' => ['8','9','10','11','12','13','14','15','16','17','18','19','20','21'], 'minute' => ['00','30']];
            $shedule = Shedule::where('user_id', $user)->with(['directions', 'clients', 'executes'])->get();
        return view('shedule.index', [
            'title' => 'Расписание',
            'shedule' => $shedule,
            'branch' => $branch,
            'directions' => $direction,
            'executes' => $execute,
            'clients' => $clients,
            'arr' => collect($arr),
            'date' => collect($date),
            'checkoutDate' => $request->input('filter')['date'] ? $request->input('filter')['date'] : date('d M Y')
        ]);
    }

Переменная $branchCheckout у меня показывает те данные которые мне нужны которые приходит из таблицы значение.
Но почему-то когда выполняется перебор массива foreach ($branchCheckout as $key => $value){
То у меня получает следующие значение $key = incrementing а value true. Что именно в этом месте я не пойму почему именно так выводит
Это в случае когда $request->input('filter')['branch'] Приходит
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Что вы в foreach гоняете если в этой ситуации делается
Branch::find($request->input('filter')['branch'])
При этом возвращается ОДНА строка, а не массив результатов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы