Maison >cadre php >Laravel >requête laravel entre les deux

requête laravel entre les deux

王林
王林original
2023-05-20 16:17:381785parcourir

Dans Laravel, les instructions de requête sont l'une des fonctions les plus couramment utilisées dans le framework Laravel. En raison des différentes quantités de données et des différences dans les exigences de requête, nous rencontrons souvent des situations où nous devons interroger des enregistrements entre deux dates. Bien que le générateur de requêtes fourni par le framework Laravel soit très puissant, si nous ne maîtrisons pas son utilisation intelligente, nous rencontrerons quelques problèmes lors du processus d'écriture des instructions de requête. Cet article explique comment interroger des enregistrements entre deux dates dans Laravel.

Tout d'abord, il doit être clair que dans Laravel, vous pouvez trouver des enregistrements entre deux dates grâce à la méthodewhereBetween() du générateur de requêtes. La méthode WhereBetween() accepte deux paramètres, à savoir le nom du champ et un tableau. Parmi eux, deux éléments du tableau représentent deux dates.

Par exemple, lors de l'interrogation de la table des utilisateurs pour les utilisateurs dont la date d'inscription se situe dans une certaine plage horaire, vous pouvez utiliser le code suivant :

$users = DB::table('users')
                ->whereBetween('created_at', ['2021-06-01', '2021-06-30'])
                ->get();

Le code ci-dessus renverra register_date en 2021 6 Informations utilisateur pour le mois. Parmi eux,created_at est un champ de date dans la table des utilisateurs, et la méthodewhereBetween() spécifie la plage de valeurs de ce champ. La méthode get() est utilisée pour obtenir les résultats de la requête et renvoie un objet Collection contenant les résultats de la requête.

En plus de la méthode WhereBetween(), nous pouvons également utiliser la méthode WhereDate() pour interroger les enregistrements d'un certain jour. Par exemple, lorsque vous interrogez la table des utilisateurs pour les utilisateurs dont la date d'inscription est un certain jour, vous pouvez utiliser le code suivant :

$users = DB::table('users')
                ->whereDate('created_at', '2021-06-01')
                ->get();

Le code ci-dessus renverra les informations sur l'utilisateur avec regist_date égal au 1er juin 2021. La méthodewhereDate() spécifie l'enregistrement avec la valeur du champcreated_at au 1er juin 2021. La méthode get() est également utilisée pour obtenir les résultats des requêtes.

En plus des méthodes WhereBetween() et WhereDate(), Laravel fournit également d'autres méthodes pour interroger des dates. Ces méthodes incluent WhereDay(), WhereMonth(), WhereYear(), WhereTime(), WhereHour(), etc. Ces méthodes sont utilisées pour interroger des informations sur un certain jour, mois, année, heure, etc. La méthode d'utilisation est similaire à la méthodewhereBetween() et à la méthodewhereDate(), je n'entrerai donc pas dans les détails ici.

Il convient de noter que la méthode de requête de date dans le générateur de requêtes de Laravel utilise l'heure UTC par défaut, et non l'heure locale. Cela signifie que quelle que soit l'heure locale, la requête sera calculée en heure UTC. Par conséquent, lorsque vous effectuez des requêtes de date, vous devez vous assurer que les paramètres de date transmis sont cohérents avec l'heure UTC.

Dans les applications pratiques, afin d'éviter les erreurs de requête causées par des problèmes de fuseau horaire, nous spécifions généralement le fuseau horaire avant l'interrogation ou dans le fichier de configuration. Laravel fournit un moyen de configurer le fuseau horaire globalement, c'est-à-dire en définissant le fuseau horaire dans le fichier config/app.php.

Dans Laravel, la méthode pour convertir l'heure en heure UTC est la suivante :

$date = new Carbon('2021-06-01 12:00:00', 'Asia/Shanghai');
$utcDate = $date->utc();

Le code ci-dessus convertit l'heure locale '2021-06-01 12:00:00' à l'heure UTC et affectez-le à la variable $utcDate. Carbon est une classe de traitement de date et d'heure intégrée à Laravel, qui est très pratique à utiliser. Cette classe propose diverses méthodes de conversion de temps pour répondre facilement aux besoins de divers scénarios.

Pour résumer, cet article présente comment interroger des enregistrements entre deux dates dans Laravel. Lorsque vous utilisez le générateur de requêtes pour effectuer des requêtes de date, vous devez faire attention au paramètre de fuseau horaire et si les paramètres de date transmis sont cohérents avec l'heure UTC. L'utilisation flexible du générateur de requêtes peut rendre notre développement plus concis et efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn