Heim > PHP-Framework > Denken Sie an PHP > Vorstellung eines nützlichen ThinkPHP Repository-Pakets

Vorstellung eines nützlichen ThinkPHP Repository-Pakets

藏色散人
Freigeben: 2021-07-16 08:59:30
nach vorne
2399 Leute haben es durchsucht

Einführung

think-repository ist ein für thinkphp 6.0.* bereitgestelltes Repository zum Abstrahieren der Datenschicht, wodurch unsere Anwendungen flexibler für die Wartung werden. think-repository 是为 thinkphp 6.0.* 提供的存储库用于抽象数据层,使我们的应用程序更灵活地进行维护。

你懂的

ThinkPHP

>= thinkphp 6.0.*

安装教程

Composer

composer require fanxd/think-repository dev-master

使用说明

最好在多应用下使用

命令

php think fanxd:repository Post

路由

Route::resource(‘post’, ‘PostController’);

可用的方法

  • first($id) // 查找单条记录
  • get() // 查找记录
  • paginate() // 分页查询
  • create($data) // 写入数据
  • save($data) // 保存当前数据对象
  • delete($where) // 删除记录
  • update($where,$data) // 更新记录
  • find($id) // 查找单条记录 如果不存在则抛出异常
  • findWhere($where,$columns = [‘*’]) // 指定AND查询条件 查找单条记录
  • with([]) // 关联查询
  • search([]) // 数据搜索
  • order($order) // 排序

查找记录

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

分页查询

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

按结果按id查找

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

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

加载模型关系

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

按结果按字段名查找

$posts=$this->repository->findByField(‘title’, ‘Hello’);

按结果由多个字段查找

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

按结果在一个字段中查找多个值

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

通过排除一个字段中的多个值,按结果查找

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

写入数据

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

更新记录

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

删除记录

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

按多个字段删除存储库中的条目

$this->repository->deleteWhere([
‘id’ => 1, ‘user_id’ => 1])

Transformer

系统会自动生成transform

Sie wissen schon

ThinkPHP>= thinkphp 6.0.*

🎜🎜Installationsanleitung🎜

🎜🎜Composer

🎜🎜composer erfordert fanxd/think - Repository dev-master🎜🎜

🎜🎜Gebrauchsanweisung

🎜🎜Es ist am besten, es unter mehreren Anwendungen zu verwenden🎜🎜
🎜🎜Befehl
🎜🎜 php think fanxd:repository Post🎜🎜

🎜🎜Route

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

🎜🎜Verfügbare Methoden

    first($id) // Einen einzelnen Datensatz finden
  • get() // Einen Datensatz finden
  • paginate() // Abfrage paginieren
  • create($ data) // Daten schreiben
  • save($data) // Aktuelles Datenobjekt speichern
  • delete($where) // Datensatz löschen
  • update( $where,$data) //Datensatz aktualisieren
  • find($id) //Einen einzelnen Datensatz suchen und eine Ausnahme auslösen, wenn er nicht existiert
  • findWhere( $where,$columns = [ '*']) // UND-Abfragebedingungen angeben, um einen einzelnen Datensatz zu finden
  • with([]) // Verwandte Abfrage
  • search([] ) // Datensuche
  • order($order) // Sortieren

🎜🎜Datensätze suchen

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

🎜🎜Seitenabfrage

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

🎜🎜Suche nach ID nach Ergebnis

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

🎜🎜Modellbeziehung laden

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

🎜🎜Suchen nach Feldname nach Ergebnis

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

🎜🎜Suche nach mehreren Feldern

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

🎜🎜Mehrere Werte finden in einem Feld nach Ergebnis🎜🎜$posts=$this->repository->findWhereIn('id', [1,2,3,4,5]);🎜🎜

🎜🎜By Ausschließen mehrerer Beiträge in einem Feldwert, Suche nach Ergebnis

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

🎜🎜 Daten schreiben

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

🎜🎜Datensatz aktualisieren

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

🎜🎜Datensatz löschen

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

🎜🎜Drücken Sie auf „Mehrere Felder“, um Einträge im Repository zu löschen

🎜🎜$this->repository->deleteWhere([
'id' => 1, 'user_id' => 1] )🎜🎜

🎜🎜Transformer

🎜Das System generiert automatisch die transform-Datei. Die Hauptfunktion besteht für mich darin, die Schnittstelle zu verschönern und zu erstellen Wir werden professioneller :)🎜
<?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']
        ];
    }}
Nach dem Login kopieren
🎜🎜 Weitere Methoden werden nach und nach hinzugefügt, sagen Sie es mir bitte und ich werde sie in Sekunden aktualisieren!!!🎜🎜Verwandte Empfehlungen: 🎜Die neuesten 10 Thinkphp-Video-Tutorials🎜 🎜🎜

Das obige ist der detaillierte Inhalt vonVorstellung eines nützlichen ThinkPHP Repository-Pakets. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage