laravie / serialize-queries
可序列化的Laravel查询构建器
v3.0.0
2024-03-07 01:54 UTC
Requires
- php: ^8.1
- illuminate/database: ^10.40 || ^11.0
- illuminate/queue: ^10.40 || ^11.0
- laravel/serializable-closure: ^1.3
Requires (Dev)
- laravel/pint: ^1.6
- orchestra/testbench: ^8.19 || ^9.0
- phpstan/phpstan: ^1.10.5
- phpunit/phpunit: ^10.1 || ^11.0
README
Serialize Queries 允许开发者将Query/Eloquent Builder序列化,以便在Laravel队列中使用。
安装
要通过composer安装,请在终端运行以下命令
composer require "laravie/serialize-queries"
用法
Eloquent查询构建器
序列化
Laravie\SerializesQuery\Eloquent::serialize( \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Relations\Relation $builder ): array;
该方法提供了一个简单的接口来序列化Eloquent查询构建器。
use App\Model\User; use Laravie\SerializesQuery\Eloquent; $query = User::has('posts')->where('age', '>', 25); $serializedQuery = Eloquent::serialize($query);
反序列化
Laravie\SerializesQuery\Eloquent::unserialize(array $payload): \Illuminate\Database\Eloquent\Builder;
该方法提供了一个简单的接口来反序列化Eloquent查询构建器。
use Laravie\SerializesQuery\Eloquent; $query = Eloquent::unserialize($serializedQuery);
流畅查询构建器
序列化
Laravie\SerializesQuery\Query::serialize( \Illuminate\Database\Query\Builder $builder ): array;
该方法提供了一个简单的接口来序列化流畅查询构建器。
use Illuminate\Support\Facades\DB; use Laravie\SerializesQuery\Query; $query = DB::table('users')->where('age', '>', 25); $serializedQuery = Query::serialize($query);
反序列化
Laravie\SerializesQuery\Query::unserialize(array $payload): \Illuminate\Database\Query\Builder;
该方法提供了一个简单的接口来反序列化Eloquent构建器。
use Laravie\SerializesQuery\Query; $query = Query::unserialize($serializedQuery);