Maison  >  Article  >  cadre php  >  Présentation d'un package de référentiel ThinkPHP utile

Présentation d'un package de référentiel ThinkPHP utile

藏色散人
藏色散人avant
2021-07-14 15:15:002295parcourir

Présentation de

think-repository est un référentiel prévu pour thinkphp 6.0.* pour abstraire la couche de données, rendant nos applications plus flexibles à maintenir.

Vous savez

ThinkPHP

>= thinkphp 6.0.*

Tutoriel d'installation

Composer

composer nécessite fanxd/think-repository dev-master

Mode d'emploi

Le meilleur在多应用 Utilisez la commande

php think fanxd:repository Post

route

Route::resource('post', 'PostController');

Méthodes disponibles

  • first($id) // Rechercher un seul enregistrement
  • get() // Rechercher un enregistrement
  • paginate() // Paginer la requête
  • create($data) // Écrire des données
  • save($data) // Enregistrez l'objet de données actuel
  • delete($where) // Supprimez l'enregistrement
  • update($where,$data) // Mettez à jour l'enregistrement
  • find($id) // Recherchez un seul enregistrement et lancez une exception si il n'existe pas
  • findWhere($where,$columns = ['*']) // Spécifiez les conditions de requête AND pour trouver un seul enregistrement
  • with([]) // Requête associée
  • search([]) / / Recherche de données
  • commande ($ commande) // Trier

Trouver des enregistrements

$posts=$this->repository->get();

Requête de pagination

$ posts=$this->repository ->paginate($limit);

Rechercher par résultat par identifiant

$posts=$this->repository->find($id);

$posts=$this->repository->first($id);

Charger la relation du modèle

$posts=$this->repository->with(['state'])- >find($id);

Rechercher par nom de champ par résultat

$posts=$this->repository->findByField('title', 'Bonjour');

Rechercher par plusieurs champs par résultat

$posts=$this->repository->findWhere([
'id' => 1], ['id', 'title]);

Rechercher plusieurs résultats dans un champ valeurs

$posts=$this->repository->findWhereIn('id', [1,2,3,4,5]);

en excluant plusieurs valeurs dans un champ, recherchez par résultat

$posts=$this->repository->findWhereNotIn('id', [6,7,8,9,10]);

Write data

$ post = $this->repository->create ($data);

mettre à jour l'enregistrement

$posts=$this->repository->update($where, $ data);

Supprimer l'enregistrement

$this->repository->delete($id)

Supprimer les entrées dans le référentiel par plusieurs champs

$this->repository-> ;deleteOù ([
'id' => 1, 'user_id' => 1])

Transformer

Le système générera automatiquement le transform fichier Vous pouvez choisir de l'activer La fonction principale. pour moi, c'est embellir l'interface. Soyons plus professionnels :)

<?php

namespace app\api\transform;use fanxd\repository\command\transform\Transform;class PostTransform extends Transform{
    public function transform($items)
    {
        return [
            &#39;id&#39;            => $items['id'],
            //... 
            'createTime'    => $items['create_time'],
            'updateTime'    => $items['update_time']
        ];
    }}

Ajoutez continuellement plus de méthodes, si vous avez de bonnes idées, dites-le-moi, les mises à jour seront effectuées en quelques secondes !!!

Recommandations associées :Le 10 derniers tutoriels vidéo thinkphp

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer