Подсчет заказов Laravel - PullRequest
       0

Подсчет заказов Laravel

0 голосов
/ 19 февраля 2020

У меня есть простое приложение, которое суммирует суммы моих заказов и платежей только за один день и отправляет их в таблицу. У меня есть ящик, который начинается каждый день, а когда я заканчиваю sh день, я могу отправить общую сумму дня (заказы, вход / выход), и на следующий день я начинаю с начала с 0 ca sh снова. Мой вопрос: это возможно, чтобы закончить мой ящик и начать его снова в тот же день с 0 ca sh несколько раз в день? Теперь, если я начну снова, я вижу все заказы, которые уже сделаны сегодня.

Мой контроллер:

public function show($id)
    {
        $locations = Location::find($id)->orders()->whereDate('created_at', '=', Carbon::today()->toDateString()); //show orders
        $wallets = Location::find($id)->locsales()->whereDate('created_at', '=', Carbon::today()->toDateString()); //show payments
        $loc = Location::find($id); //to show location name

        return view('location')
        ->with('locations', $locations)
        ->with('wallets', $wallets)
        ->with('loc', $loc);
    }

Часть моего взгляда:

       <div class="card-body">

                        <div class="form-group">
                        <div class="list-group-item">
                        <label for="location">Location: {{$loc->location_id}}</label>

                        <form method="post" action="/post_drawer">
                        @csrf           
<input type="number" class="form-control" name="start_cash" id="start_cash" value="{{$wallets->sum('start_cash')}}" readonly>
                        <label for="info">Amount of orders(today):</label>
                        <input type="number" class="form-control" name="amount" id="amount" value="{{$locations->sum('total')}}" readonly>

Обновление 1: Я добавил в таблицу заказов и в свой вариант просмотра, чтобы отправить поле Added_to_drawer с логическим значением, и теперь мой контроллер выглядит так:

$locations = Location::find($id)->orders()->whereDate('created_at', '=', Carbon::today()->toDateString())->whereNull('added_to_drawer');

Может быть, я делаю что-то не так, но это не работает.

Обновление 2: я настроил свой контроллер для отображения только записей со значением 1, и теперь он работает правильно.

$locations = Location::find($id)->orders()
        ->where('added_to_drawer', 1)


$affected = DB::table('orders')->whereid('location', $id)->update(array('added_to_drawer' => 0));
        $affected = DB::table('wallets')->where('location_id', $id)->update(array('added_to_drawer' => 0));

Но у меня есть другая проблема. Когда я закрываю свой ящик, он обновляет (сбрасывает) все ящики местоположений до 0. Например - я хочу обновить только те места, где имя Нью-Йорк, но будет динамически. Не так: where('location','=','New York') Я пробовал вот так: where('location','=' $id), но это не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...