はじめに
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)
複数のフィールドでリポジトリ内のエントリを削除します
'id' => 1, 'user_id' => 1])
# #Transformer
システムは、 ファイルを自動的に生成します。これを有効にするかどうかを選択できます。私にとっての主な機能は、インターフェイスを美しくし、よりプロフェッショナルにすることです:)
<?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']
];
}}
さらに多くのメソッドが次々に追加されます。良いアイデアがあれば教えてください。すぐに更新します!!!
関連する推奨事項:
最新の 10 件の thinkphp ビデオ チュートリアル#
以上が便利な ThinkPHP リポジトリ パッケージの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。