IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Laravel PHP Discussion :

compter le nombre d'entree de chaque jour pour une periode de temps


Sujet :

Laravel PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de Zembla
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 96
    Par défaut compter le nombre d'entree de chaque jour pour une periode de temps
    Bonjour,

    Dans mon application un usager entre une période d'inscription une date de début et une date de fin. j'aimerais faire une requête qui vérifie le nombre total d'inscription pour chaque jour entrée dans la table et si un nombre n max alors interdire une nouvelle inscription pour cette date-là Comment puis ecrire cette requête dans laravel à l'aide d'éloquent ou de query builder.

    pour info voici la methode de mon controlleur pour inserer les données

    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
    public function postCreatePost(Request $request)
        {
            $this->validate($request, [
                'name' => 'required|max:120',
                'date1'=>'required|date',
                'date2'=>'required|date',
                'body'=>'max:200'
     
            ]);
            $post = new Post();
            $post->name = $request['name'];
            $post->date1 = $request['date1'];
            $post->date2 = $request['date2'];
            $post->body = $request['body'];
            $post->save();
     
            }
     
            return redirect()->route('admin.index')->with(['success' => 'Post successfully created!']);
        }
    merci pour toute info

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,
    La requête est simple, en MySQL par exemple

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    select count(*) as compteur from ma_table where date_debut = now()
    Combien de ligne pour aujourd'hui, telle est la requête.

    En Eloquent, je dirais mais à tester

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $compteur = Post::where(['date_debut' => now()])->count();
    Le now() de la requête eloquent est un helper qui fait appel à Carbon

    Maintenant la question c'est où poser ce jalon

    Au momment de l'insertion ou alors ne plus fournir le formulaire après le nombre d’inscrits, cela se réfléchis.

  3. #3
    Membre actif Avatar de Zembla
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 96
    Par défaut
    merci

    j'arrive à faire un test sur un nombre maximum de date_debut ou de date_fin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $users = User::orderBy('name')->get()->groupBy(function($query) {
                return $query->date_debut->format('Y-m-d');

    Ce que je voudrais faire c'est par exemple j'entre pour l'user toto une date de début (01/07/2019) et une date de fin ( 10/07/2019), j'ai donc réservé une plage de date de 10 jours. Dans ma table pour cette user toto je n'ai que 2 dates, date_debut et date_fin. Imaginons que je veuille tester si le 03/07/2019 toto est inscrit. il faudrait que je créer un array et ajoute toutes les dates entre date_debut et date_fin. Ensuite je bouclerais sur ce tableau.

    est ce que c'est la bonne démarche. Et est ce que dans Laravel ( peut être par eEloquent , Carbon etc ) il n'y aurais pas une méthode qui aide à faire ça ?
    je vois sur php.net la classe DatePeriod qui va bien.

    encore merci pour toutes infos

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/02/2008, 12h32
  2. Réponses: 5
    Dernier message: 13/10/2006, 08h00
  3. Réponses: 16
    Dernier message: 14/09/2006, 06h43
  4. Réponses: 1
    Dernier message: 07/09/2006, 14h45
  5. Requête pour compter le nombre de fils de chaque parent
    Par santana2006 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/08/2006, 16h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo