Hello,
J'ai un petit soucis que j'ai réglé mais ne suis pas satisfait car pour moi c'est plus du bricolage que de la pure compréhension.
J'avais ce code qui me mettais ce message d'erreur:"DateTime::__construct() expects parameter 1 to be string"
C'étais la variable $date_departurelmore qui fesait cette erreur car quand j'arrivais à la function cette ligne là:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 if ($valetOccupationtimedepartured >= $systemOptionsValetCount) { $date_departurelmore = new DateTime($datetime_departure); while ( $valetOccupationtimedepartured >= $systemOptionsValetCount) { $numMinutes = 15; $date_departurelmore->modify ("+{$numMinutes} minutes"); $valetOccupationtimearrival = self::countplaceviphourdays($date_departurelmore); } public function countplaceviphourdays($datetime_valet) { $numMinutes = 59; $date_more = new DateTime($datetime_valet); $date_less = clone $date_more; $date_more->modify ("+{$numMinutes} minutes"); $date_less->modify ("-{$numMinutes} minutes"); $vipOccupationtime = DB::table('reservations') ->where(function($query) use ($date_less,$date_more){ $query->whereBetween('date_of_departure', [$date_less, $date_more]) ->orWhereBetween('date_of_arrival', [$date_less, $date_more]); }) ->where('reservation_type', '=', 'valet') ->where('payment_status', '=', 'completed') ->where('is_returned', '!=', '1') ->count(); return $vipOccupationtime; }
me fessait une erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part $date_more = new DateTime($datetime_valet);
donc du coups pour mettre cette variable en string j'ai du ajouter ça:
ce qui donne ce code au final:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $day_arrivalmore = $date_arrivalmore->format('Y-m-d'); $minute_arrivalmore = $date_arrivalmore->format('H:i'); $datetime_arrivalmore=$day_arrivalmore." ". $minute_arrivalmore;
Et là ça marche mon problème c'est que j'arrive pas à trouver la solution toute bête pour éviter d'ajouter ce bricolage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 $date_arrivalmore = new DateTime($datetime_arrival); while ( $valetOccupationtimearrival >= $systemOptionsValetCount) { $numMinutes = 15; $date_arrivalmore->modify ("-{$numMinutes} minutes"); $day_arrivalmore = $date_arrivalmore->format('Y-m-d'); $minute_arrivalmore = $date_arrivalmore->format('H:i'); $datetime_arrivalmore=$day_arrivalmore." ". $minute_arrivalmore; $valetOccupationtimearrival = self::countplaceviphourdays($datetime_arrivalmore); $date_arrivalmore = new DateTime($datetime_arrivalmore); } public function countplaceviphourdays($datetime_valet)...
Merci d'avance pour toute aide et surtout savoir si il y a une solution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $day_arrivalmore = $date_arrivalmore->format('Y-m-d'); $minute_arrivalmore = $date_arrivalmore->format('H:i'); $datetime_arrivalmore=$day_arrivalmore." ". $minute_arrivalmore;
Partager