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 [
'id' => $items['id'],
//...
'createTime' => $items['create_time'],
'updateTime' => $items['update_time']
];
}}
🎜🎜 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!