Mijn vraag
Ben bezig met site voor een restaurant. Nu moet er een reservering gemaakt worden door de gast, deze kan alleen tussen bepaalde tijden reserveren. (Opgeslagen in DB)
Heb al meerdere manieren geprobeerd en gezocht maar kom er niet meer uit
misschien moet ik wel zelf een Rule schrijven maar als dit niet nodig is gebruik ik liever de bestaande Rules.
Relevante software en hardware die ik gebruik
Laravel: 5.6
Wat ik al gevonden of geprobeerd heb
Oplossing
Ik post alsnog mijn oplossing.. misschien kan iemand ervan leren of heeft iemand een betere oplossing.
Ben bezig met site voor een restaurant. Nu moet er een reservering gemaakt worden door de gast, deze kan alleen tussen bepaalde tijden reserveren. (Opgeslagen in DB)
Heb al meerdere manieren geprobeerd en gezocht maar kom er niet meer uit

misschien moet ik wel zelf een Rule schrijven maar als dit niet nodig is gebruik ik liever de bestaande Rules.
Relevante software en hardware die ik gebruik
Laravel: 5.6
Wat ik al gevonden of geprobeerd heb
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
| //Werkt helaas niet :P 'time' => 'date_format:"H:i"|required|between:'.$opening.','.$closing, // werkt 'time' => 'date_format:"H:i"|required|after:'.$opening, // werkt ook... 'time' => 'date_format:"H:i"|required|before:'.$closing, // Ze werken alleen als er 1 van de 2 in staat. dus alle 2 in de array wordt hem niet.. // Werkte ook niet tot ik het net weer probeerde.. 'time' => 'date_format:"H:i"|required|after:'.$opening.'|before:'.$closing, |
Oplossing
Ik post alsnog mijn oplossing.. misschien kan iemand ervan leren of heeft iemand een betere oplossing.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| $option = Option::first(); $yesterday = date("Y-m-d", strtotime( '-1 days' )); $opening = str_replace('-', ':', date("H-i", strtotime($option->opening))); $closing = str_replace('-', ':', date("H-i", strtotime($option->closing))); $this->validate($request, [ 'firstname' => 'required|max:50', 'middle' => 'nullable|max:20', 'lastname' => 'required|max:50', 'phone' => 'required|numeric|min:10', 'email' => 'required|max:100|email', 'persons' => 'required|numeric', 'message' => 'max:500', 'date' => 'required|date_format:Y-m-d|after:'.$yesterday, 'time' => 'date_format:"H:i"|required|after:'.$opening.'|before:'.$closing, ],[ 'time.after' => 'The :attribute must be a time after :date.', 'time.before' => 'The :attribute must be a time before :date.', ]); Reservation::create([ 'firstname' => $request->firstname, 'middle' => $request->middle, 'lastname' => $request->lastname, 'phone' => $request->phone, 'email' => $request->email, 'persons' => $request->persons, 'message' => $request->message, 'description' => $request->description, 'date' => $request->date, 'time' => $request->time, 'approved' => false ]); return redirect()->route('reservation.index')->with('success', 'Thank you for booking a table. Your reservation is confirmed when we send you a confirmation mail. '); } |