laravie/serialize-queries

可序列化的Laravel查询构建器

v3.0.0 2024-03-07 01:54 UTC

This package is auto-updated.

Last update: 2024-09-07 03:33:56 UTC


README

tests Latest Stable Version Total Downloads Latest Unstable Version License Coverage Status

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);