У меня есть простое приложение, которое суммирует суммы моих заказов и платежей только за один день и отправляет их в таблицу. У меня есть ящик, который начинается каждый день, а когда я заканчиваю 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)
, но это не работает.