enimiste/laravel-uniqueable-jobs-l53

Laravel 5.3 唯一性作业支持

v5.3.4 2017-10-23 17:09 UTC

This package is auto-updated.

Last update: 2024-08-29 04:48:25 UTC


README

安装

使用以下命令使用 composer 安装此包

composer require "enimiste/laravel-uniqueable-jobs-l53:5.3.*"

更新 composer 后,将服务提供者添加到 config/app.php 中的 providers 数组

Com\NickelIT\UniqueableJobs\UniqueableJobsServiceProvider::class,

并将 Illuminate\Bus\BusServiceProvider::class 替换为 Com\NickelIT\UniqueableJobs\BusServiceProvider::class

发布迁移

php artisan queue:table
php artisan vendor:publish --tag=migrations

在作业类中使用 Com\NickelIT\UniqueableJobs\Uniqueable 代替默认的。
注意:此特质应直接在作业类中使用,而不是在存在的基类中。

为确保给定作业在模型和模型ID中只存储一次,请在作业实例上使用 ->unique(Model::class, $model->id) 或在调用 dispatch() 方法之后。

$u = User::first();
    $job = new DoSomething('Hello from unique job ' . $u->email);
    $job->unique(User::class, $u->id);
    dispatch($job);
    
    $job = new DoSomething('Hello from unique job ' . $u->email);
    $job->unique(User::class, $u->id);
    dispatch($job);
//In this case the job will be stored once if it was already in the db

许可证

Laravel 5.3 唯一性作业是开源软件,许可协议为MIT 许可证