亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Table des matières
Conception de la structure de la base de données
Tri ORM éloquent
Interface utilisateur et mises à jour des données
Résumer
Maison développement back-end tutoriel php Créer un formulaire de classement et implémenter le tri des données dans Laravel

Créer un formulaire de classement et implémenter le tri des données dans Laravel

Oct 15, 2025 pm 05:12 PM

Créer un formulaire de classement et implémenter le tri des données dans Laravel

Cet article vise à guider les débutants de Laravel dans la création d'un système de classement simple qui permet aux utilisateurs de trier plusieurs éléments et de stocker les résultats du tri dans la base de données. Nous présenterons comment concevoir la structure de la base de données et comment utiliser Eloquent ORM pour lire et trier les données. Grace à cet article, vous ma?triserez les méthodes de base de création et de gestion des données de classement dans les applications Laravel.

Conception de la structure de la base de données

Pour implémenter la fonctionnalité de classement, la table de base de données doit contenir une colonne qui stocke la valeur de tri. Supposons que nous devions classer des appareils tels que des réfrigérateurs, des fours à micro-ondes et des cuisinières. Nous pouvons créer une table appelée appareils avec les champs suivants?:

  • id?: clé primaire, ID à incrémentation automatique.
  • name?: Nom de l'appareil (par exemple réfrigérateur, micro-ondes, cuisinière).
  • description?: Description de l'appareil (facultatif).
  • order?:?champ de tri qui stocke les valeurs de classement spécifiées par l'utilisateur. Plus le nombre est petit, plus le classement est élevé.

Cette table peut être créée à l'aide de la fonctionnalité Migration de Laravel?:

 utilisez Illuminate\Database\Migrations\Migration?;
utilisez Illuminate\Database\Schema\Blueprint?;
utilisez Illuminate\Support\Facades\Schema?;

la classe CreateAppliancesTable étend la migration
{
    /**
     * Exécutez les migrations.
     *
     * @retour nul
     */
    fonction publique up()
    {
        Schema::create('appareils', fonction (Blueprint $table) {
            $table->id();
            $table->string('nom');
            $table->text('description')->nullable();
            $table->integer('order')->nullable(); // Autorise la valeur null, indiquant qu'il n'a pas encore été trié $table->timestamps();
        });
    }

    /**
     * Inverser les migrations.
     *
     * @retour nul
     */
    fonction publique vers le bas()
    {
        Schema::dropIfExists('appareils');
    }
}

Exécutez la commande php artisan migrate pour créer la table.

Tri ORM éloquent

Créez un modèle d'appliance dans le répertoire App\Models pour interagir avec la table des appliances.

 espace de noms App\Models?;

utilisez Illuminate\Database\Eloquent\Model?;

L'appliance de classe étend le modèle
{
    protected $table = 'appareils'; // Facultatif, si le nom de la table est incohérent avec le nom du modèle protected $fillable = ['name', 'description', 'order']; // Champs autorisant l'affectation par lots}

Les données peuvent être triées à l'aide de la méthode orderBy fournie par Eloquent ORM. L'exemple suivant montre comment trier les données par ordre croissant selon le champ d'ordre?:

 utilisez App\Models\Appliance?;

$appliances = Appliance::orderBy('order', 'asc')->get();

// Ou utilisez la méthode last(), qui est équivalente à orderBy('created_at', 'desc'), mais cet exemple ne s'applique pas // $appliances = Appliance::latest('order')->get(); // Mauvaise utilisation, dernières valeurs par défaut sur create_at

Ce code obtiendra tous les enregistrements de la table des appareils et les triera en fonction de la valeur du champ de commande de petit à grand. Si les valeurs du champ order sont les mêmes, elles sont triées par le champ create_at (comportement par défaut).

Si vous souhaitez trier les données par ordre décroissant selon le champ ordre, vous pouvez utiliser le paramètre desc :

 $appliances = Appliance::orderBy('order', 'desc')->get();

Interface utilisateur et mises à jour des données

L'interface utilisateur doit fournir un formulaire permettant à l'utilisateur de trier les appareils. Le formulaire peut inclure une liste déroulante ou une fonction de tri par glisser-déposer qui permet à l'utilisateur de sélectionner le classement de chaque appareil.

Lorsque l'utilisateur soumet le formulaire, les résultats triés doivent être enregistrés dans la base de données. Vous pouvez utiliser la méthode de mise à jour d'Eloquent ORM pour mettre à jour la valeur du champ de commande?:

 utilisez App\Models\Appliance?;
utilisez Illuminate\Http\Request?;

fonction publique updateOrder(Request $request)
{
    $applianceId = $request->input('appliance_id');
    $commande = $requête->input('commande');

    $appliance = Appliance::find($applianceId);

    si ($appareil) {
        $appareil->commande = $commande?;
        $appliance->save();
    }

    return réponse()->json(['message' => 'Commande mise à jour avec succès']);
}

Ce code obtient d'abord les valeurs de appliance_id et order, puis recherche l'enregistrement d'appliance correspondant, met à jour la valeur du champ order et l'enregistre dans la base de données.

Choses à noter?:

  • Assurez-vous que l'attribut $fillable est défini dans le modèle d'appliance pour permettre l'affectation par lots du champ de commande.
  • Avant que l'utilisateur soumette le formulaire, les données doivent être vérifiées pour garantir que la valeur du champ de commande est valide.
  • Afin d'améliorer l'expérience utilisateur, vous pouvez utiliser la technologie AJAX pour soumettre le formulaire de manière asynchrone afin d'éviter l'actualisation de la page.
  • Si vous devez implémenter une fonctionnalité de tri plus complexe, envisagez d'utiliser une bibliothèque JavaScript telle que jQuery UI Sortable.

Résumer

Grace à cet article, vous avez appris à créer un formulaire de classement et à implémenter le tri des données dans une application Laravel. Vous avez appris à concevoir une structure de base de données et à lire et mettre à jour des données à l'aide d'Eloquent ORM. Espérons que ces connaissances vous aideront à créer des applications Laravel plus puissantes. N'oubliez pas que la pratique est le meilleur professeur. Essayez-en davantage et vous pourrez ma?triser davantage de compétences Laravel.

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 de ce site Web
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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment vérifier si une adresse e-mail est valide en PHP? Comment vérifier si une adresse e-mail est valide en PHP? Sep 21, 2025 am 04:07 AM

Usefilter_var () tovalidateemailsyntaxandcheckdnsrr () toverifydomainmxrecords.example: $ email = "user@example.com"; if (f ilter_var ($ e-mail, filter_validate_email) && checkdnsrr (explosage ('@', $ e-mail) [1], 'mx')) {echo "ValidAndDeliverableMail & Qu

Comment faire une copie profonde ou un clone d'un objet en PHP? Comment faire une copie profonde ou un clone d'un objet en PHP? Sep 21, 2025 am 12:30 AM

UseUnserialize (serialize ($ obj)) FordopcopyingwhenallDataisSerializable; Sinon, implémentez__Clone () TomanuallyDuplicatesedObjectsAndavoidSharedReferences.

Comment fusionner deux tableaux en php? Comment fusionner deux tableaux en php? Sep 21, 2025 am 12:26 AM

UseArray_merge () toCombineArrays, écrasant leduplicatestringKeysAndreIndexingNumericKeys; ForsimplecCaTencatenation, en particulierInphp5.6, usethesplatoperator [... $ array1, ... $ array2].

Comment utiliser des espaces de noms dans un projet PHP? Comment utiliser des espaces de noms dans un projet PHP? Sep 21, 2025 am 01:28 AM

NamespacesInphporganizEcodeAndPreventnamingConflictsBygroupingClasses, Interfaces, Functions et ConstantsunSunSaspecificName.2.DefineanamespaceusingTheNamesPaceSpaceKeyWordAtTopofaFile, suiviByTheNamesPacename, Suchasapp \ Controlers...USUSEUSEKEYWORDTOI

Comment mettre à jour un enregistrement dans une base de données avec PHP? Comment mettre à jour un enregistrement dans une base de données avec PHP? Sep 21, 2025 am 04:47 AM

ToupDateAdatabasereCorDinPhp, FirstConnectUsingPDoOrmysQLi, theNusepreparedStationStoExECUSEASECURSQLUPDATEQUERY.example: $ pdo = newPDO ("MySql: host = localhost; dbname = votre_database", $ username, $ mot de passe); $ sql = "dameussem =.

Quelles sont les méthodes magiques en PHP et fournissent un exemple de `__Call () 'et` __get ()'. Quelles sont les méthodes magiques en PHP et fournissent un exemple de `__Call () 'et` __get ()'. Sep 20, 2025 am 12:50 AM

La méthodiette () méthodiste axée sur le point de réviser la mise en ?uvre de l'inscription, ce qui permet de faire de la maintenance à la qualité de qualité et

Comment créer une archive zip de fichiers dans PHP? Comment créer une archive zip de fichiers dans PHP? Sep 18, 2025 am 12:42 AM

Utilisez la classe Ziparchive pour créer un fichier zip. Instancier et ouvrir le zip cible, ajouter des fichiers avec addFile, prendre en charge les chemins internes personnalisés, les fonctions récursives peuvent emballer l'intégralité du répertoire et enfin appeler près pour enregistrer pour s'assurer que PHP a des autorisations d'écriture.

Comment obtenir l'extension de fichier en php? Comment obtenir l'extension de fichier en php? Sep 20, 2025 am 05:11 AM

UsePathinfo ($ nom de fichier, pathinfo_extension) togetThefileExtension; itreliabblyHandlesMultipledototsEdGasases, renvoyantTheExtension (par exemple, "pdf") oranemptystringefNoneExists.

See all articles