Maison  >  Article  >  développement back-end  >  Comment utiliser order() dans ThinkPHP

Comment utiliser order() dans ThinkPHP

不言
不言original
2018-06-08 17:11:407733parcourir

Cet article présente principalement l'utilisation de order() dans ThinkPHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Cet article présente le order() de. ThinkPHP. Utilisation de la méthode. La méthode order peut être utilisée pour trier les résultats des opérations de base de données. Cela équivaut à une clause order by dans l'instruction select

Cet article présente l'utilisation de la méthode order() de ThinkPHP. La méthode order peut être utilisée pour trier les résultats des opérations de base de données. Cela équivaut à une clause order by dans l'instruction select. La méthode

order est l'une des méthodes de fonctionnement cohérentes du modèle et est utilisée pour trier les résultats des opérations de base de données. Cela équivaut à une clause order by dans l'instruction select.

Utilisation

$Model->where('status=1')->order('id desc')->limit(5)->select();

Remarque : Les méthodes de fonctionnement continu n'ont aucun ordre et peuvent être modifiées à volonté avant le La méthode select est appelée.
Prend en charge le tri de plusieurs champs, par exemple :

$Model->where('status=1')->order('id desc,status')->limit(5)->select();

Si aucune règle de tri desc ou asc n'est spécifiée, la valeur par défaut est asc.

Si votre champ est en conflit avec le mot clé mysql, il est recommandé de l'appeler en mode tableau, par exemple :

$Model->where('status=1')->order(array('order','id'=>'desc'))->limit(5)->select();

Supplémentaire :

Thinkphp ne peut pas être utilisé ->Deux solutions pour le tri order() !

En utilisant ThinkPHP, j'ai découvert que je ne pouvais pas utiliser ->order($order) pour trier.

$order = " info.date2 desc ";

Malheureusement, le résultat de l'écriture d'un ordre comme celui-ci est order by date2 limit... desc est manquant.

Solution 1 :

$order ne peut pas avoir d'espace des deux côtés, $order = "info.date2 desc" (correct) ; . $order = " info.date2 desc"; (Erreur !)

Solution 2 :

Ouvrez le fichier : D:WebSiteZbphp.comwwwThinkPHPExtendModelViewModel .class.php

Modifiez la ligne 136 en $array = éclater(' ', trim($order)); ajoutez trim et enregistrez, comme indiqué dans l'image :

Il est recommandé d'utiliser la deuxième méthode, mais j'espère que le site officiel de thinkphp pourra corriger ce petit problème pour empêcher les utilisateurs de modifier eux-mêmes le code du noyau

Ce qui précède représente l'intégralité du contenu de cet article , j'espère que cela aidera tout le monde à apprendre. Utile, veuillez faire attention au site Web PHP chinois pour plus de contenu connexe !

Recommandations associées :

Analyse de l'utilisation de initialize() et du constructeur construct() dans ThinkPHP

En PHP move_uploaded_file( ) fonction

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