Pour permettre de ne pas afficher certain véhicule dans le cas d’une recherche .
Il me faudra procéder comme suit :
1-creer le champs « available »dans la base de donner
OU
1-bis ne pas créer de table et gérer dynamiquement le status (Caché ou visible ) de la voiture .
Grâce à l’heure de récupération et l’heure de dépôt de la voiture ,on peut calculer la différence entre les deux heures pour avoir le nombre de temps écouler entres elles
2-Si l’on choisie d’ajouter un champs dans la table Véhicle
Pour cela il faut se diriger dans le fichier de migration de la table vehicle
-> app/database/migration/%vehicle%
La colonne available sera donc de type binaire(exemple : Booléen, TinyInt ou de type enum )
Ajouter la ligne ‘available’ de type binaire choisi .
Maintenant que notre fichier de migration est prêt , il faut ajouter la colonne ‘available’ au fichier « Seeder » afin qu’à la création de la table vehicle , l’unique vehicle crée par le fichier de fixture(Le fichier Seeder) puissent avoir une valeur par défaut pour la colonne ‘available’.
-> app/database/Seeder.*
Une fois que la fonction de notre fixture pour la création du premier vehicle de notre base de données a été modifié, on vas répercuter ce changement à toutes les lignes de véhicule crée par le script SQL qui accompagne cette issue
Notre colonne available est à une place précise dans notre nouveau schéma de la table véhicule,
Entre la colonne X et la colonne Y
Dans le script Sql , pour chaque ligne ,il faudra rajouter au même endroit la valeur de la colonne available qu’on souhaite lui attribuer.
Par exemple :
(3, 'car', 'hyundai', 'kona', 'green', 'caen', 'CH-001-EG', '40500', 'VF7ABHUR0EW554825', '0000-00-00 00:00:00', 38400, 20, 76, 'Lithium', 'http://vrent.fr/img/hyundai_kona.png', la valeur de ma colonne available,'0000-00-00 00:00:00', '0000-00-00 00:00:00'),
Une fois que cela est fait on est prêt a renouvelé le schéma de notre base de donné .
On fais cette action en lançant une commande laravel qui va supprimer les tables et les recréer selon le schéma que l’on lui a donné dans chaque fichiers de migration.
php artisan migrate:refresh
Maintenant que le schéma de notre base de donnée a été mise à jour nous allons remplir la base de donné grâce au fichiers Seeder qui contient les fixtures.
php artisan db:seed
BraVo!!!
Nous avons maintenant plusieur utilisateur ,plusieur bookings et un véhicule disponible dans notre base de donné
3- on va maintenant jouer le script SQL pour rajouter d’autre véhicule à notre table vehicle
-On se rend sur phpmyadmin
Dans l’onglet SQL ,on copie notre nouveau script et on click sur « GO »
Voilà notre table véhicule contient maintenant plusieur véhicules avec une colonne qui servira à savoir si oui ou non un véhicule est disponible
Pour permettre de ne pas afficher certain véhicule dans le cas d’une recherche .
Il me faudra procéder comme suit :
1-creer le champs « available »dans la base de donner
OU
1-bis ne pas créer de table et gérer dynamiquement le status (Caché ou visible ) de la voiture .
Grâce à l’heure de récupération et l’heure de dépôt de la voiture ,on peut calculer la différence entre les deux heures pour avoir le nombre de temps écouler entres elles
2-Si l’on choisie d’ajouter un champs dans la table Véhicle
Pour cela il faut se diriger dans le fichier de migration de la table vehicle
-> app/database/migration/%vehicle%
La colonne available sera donc de type binaire(exemple : Booléen, TinyInt ou de type enum )
Ajouter la ligne ‘available’ de type binaire choisi .
Maintenant que notre fichier de migration est prêt , il faut ajouter la colonne ‘available’ au fichier « Seeder » afin qu’à la création de la table vehicle , l’unique vehicle crée par le fichier de fixture(Le fichier Seeder) puissent avoir une valeur par défaut pour la colonne ‘available’.
-> app/database/Seeder.*
Une fois que la fonction de notre fixture pour la création du premier vehicle de notre base de données a été modifié, on vas répercuter ce changement à toutes les lignes de véhicule crée par le script SQL qui accompagne cette issue
Notre colonne available est à une place précise dans notre nouveau schéma de la table véhicule,
Entre la colonne X et la colonne Y
Dans le script Sql , pour chaque ligne ,il faudra rajouter au même endroit la valeur de la colonne available qu’on souhaite lui attribuer.
Par exemple : (3, 'car', 'hyundai', 'kona', 'green', 'caen', 'CH-001-EG', '40500', 'VF7ABHUR0EW554825', '0000-00-00 00:00:00', 38400, 20, 76, 'Lithium', 'http://vrent.fr/img/hyundai_kona.png', la valeur de ma colonne available,'0000-00-00 00:00:00', '0000-00-00 00:00:00'),
Une fois que cela est fait on est prêt a renouvelé le schéma de notre base de donné . On fais cette action en lançant une commande laravel qui va supprimer les tables et les recréer selon le schéma que l’on lui a donné dans chaque fichiers de migration.
php artisan migrate:refresh
Maintenant que le schéma de notre base de donnée a été mise à jour nous allons remplir la base de donné grâce au fichiers Seeder qui contient les fixtures.
php artisan db:seed
BraVo!!!
Nous avons maintenant plusieur utilisateur ,plusieur bookings et un véhicule disponible dans notre base de donné
3- on va maintenant jouer le script SQL pour rajouter d’autre véhicule à notre table vehicle
-On se rend sur phpmyadmin
Dans l’onglet SQL ,on copie notre nouveau script et on click sur « GO »
Voilà notre table véhicule contient maintenant plusieur véhicules avec une colonne qui servira à savoir si oui ou non un véhicule est disponible
INSERT INTO vehicle (id, category, brand, type, color, current_place, licence_plate, kilometer, serial_number, date_purchase, buying_price, day_price, battery_level, battery_brand, picture, created_at, updated_at) VALUES (2, 'car', 'nissan', 'leaf', 'white', 'marseille', 'AA-463-GF', '50000', 'VF7SBHUR0EW554823', '0000-00-00 00:00:00', 35400, 20, 86, 'Lithium', 'http://vrent.fr/img/nissan_leaf.png', '0000-00-00 00:00:00', '0000-00-00 00:00:00'), (3, 'car', 'hyundai', 'kona', 'green', 'caen', 'CH-001-EG', '40500', 'VF7ABHUR0EW554825', '0000-00-00 00:00:00', 38400, 20, 76, 'Lithium', 'http://vrent.fr/img/hyundai_kona.png', '0000-00-00 00:00:00', '0000-00-00 00:00:00'), (4, 'car', 'hyundai', 'ioniq', 'white', 'valencienne', 'DS-001-MF', '26900', 'VF7ABHUR0IO554823', '0000-00-00 00:00:00', 35850, 20, 67, 'Cadmium nickel', 'http://vrent.fr/img/hyundai_ioniq.png', '0000-00-00 00:00:00', '0000-00-00 00:00:00'), (5, 'car', 'kia', 'soul Ev', 'white', 'cachan', 'FK-495-KJ', '39400', 'VF7ABIUR0IO554827', '0000-00-00 00:00:00', 35400, 20, 94, 'Lithium-ion', 'http://vrent.fr/img/kia_soul-ev.png', '0000-00-00 00:00:00', '0000-00-00 00:00:00'), (12, 'car', 'kia', 'e-Niro', 'grey', 'paris', 'ET-897-DT', '33950', 'VF9BBIAR9IO564822', '0000-00-00 00:00:00', 38500, 20, 90, 'Cadmium nickel', 'http://vrent.fr/img/kia_e-niro.png', '0000-00-00 00:00:00', '0000-00-00 00:00:00'), (13, 'scooter', 'niu', 'm+', 'red', 'paris', 'EV-897-DT', '350', 'VF9BQIAR9IO564829', '0000-00-00 00:00:00', 2599, 20, 100, 'Cadmium nickel', 'http://vrent.fr/img/niu_m+.png', '0000-00-00 00:00:00', '0000-00-00 00:00:00'), (14, 'scooter', 'niu', 'm1 pro', 'blue', 'paris', 'AT-797-DI', '33950', 'VF9BBIOR9IO564821', '0000-00-00 00:00:00', 2300, 20, 90, 'Cadmium nickel', 'http://vrent.fr/img/niu-m1 pro.png', '0000-00-00 00:00:00', '0000-00-00 00:00:00'), (15, 'scooter', 'niu', 'n1s', 'black', 'paris', 'MO-191-DL', '33950', 'VF9BBIJR9IO564820', '0000-00-00 00:00:00', 2899, 20, 90, 'Cadmium nickel', 'http://vrent.fr/img/nui_n1s.png', '0000-00-00 00:00:00', '0000-00-00 00:00:00');