ホームページ  >  記事  >  PHPフレームワーク  >  便利な ThinkPHP リポジトリ パッケージの紹介

便利な ThinkPHP リポジトリ パッケージの紹介

藏色散人
藏色散人転載
2021-07-14 15:15:002295ブラウズ

はじめに

think-repository は、thinkphp 6.0.* の抽象データ層用に提供されるリポジトリです。アプリケーションのメンテナンスがより柔軟になります。

ご存じのとおり、

ThinkPHP

>= thinkphp 6.0.*

#インストールチュートリアル

Composer

composer require fanxd/think-repository dev-master

##使用手順

ベスト マルチアプリケーションで

##コマンドを使用
php think fanxd:repository Post

##Route

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) //並べ替え

レコードの検索

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

ページング クエリ

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

id ​​による結果で検索

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

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

##ロード モデル関係

$posts=$this->リポジトリ->with(['state'])->find($id);

プレス結果はフィールド名で検索されます

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

複数のフィールドで検索

$posts=$this->repository->findWhere([

'id' => 1], ['id', ' title]);


結果によって 1 つのフィールド内の複数の値を検索

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

フィールド内の複数の値を除外して結果で検索

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

データの書き込み

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

レコードの更新

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

レコードを削除

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

複数のフィールドでリポジトリ内のエントリを削除します

#$this ->リポジトリ->deleteWhere([ 'id' => 1, 'user_id' => 1])


# #Transformer

システムは、transform ファイルを自動的に生成します。これを有効にするかどうかを選択できます。私にとっての主な機能は、インターフェイスを美しくし、よりプロフェッショナルにすることです:)

<?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']
        ];
    }}

さらに多くのメソッドが次々に追加されます。良いアイデアがあれば教えてください。すぐに更新します!!!

関連する推奨事項:
最新の 10 件の thinkphp ビデオ チュートリアル

#

以上が便利な ThinkPHP リポジトリ パッケージの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。