ironshark/laravel-deliverable

为 Laravel Eloquent 模型提供的 trait,允许轻松实现“可交付”功能。

v1.0.1 2015-08-26 14:39 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:26:23 UTC


README

License Downloads Version-stable

为 Laravel Eloquent 模型提供的 trait,允许轻松实现“可交付”功能。可用于阅读列表或发货。

Composer 安装

composer require ironshark/laravel-deliverable
php artisan vendor:publish --provider="IronShark\Deliverable\DeliverableServiceProvider"
php artisan migrate

设置您的模型

class Article extends \Illuminate\Database\Eloquent\Model {
    use IronShark\Deliverable\DeliverableTrait;
}

示例用法

$file = File::create(['name' => 'filename']);
$admin = \App\User::where('name', 'admin')->first();
    
$file->deliver(\App\User::all()); // deliver file to all users
$file->deliver(1, 5); // deliver files to user with id `1`, priority = `5`

$file->setDelivered(); // mark file as deliverd to logged in user
$file->setDelivered(true, $admin); // mark file as deliverd to admin user

$file->isDelivered(); // check whether current item was delivered to current user (`true`|`false`)
$file->isDelivered($admin); // check whether current item was delivered to admin

$file->cancelDelivery(); // remove delivery tasks for current user
$file->cancelDelivery($admin); // remove delivery tasks for admin
$file->cancelDelivery([1,5,9,8]); // remove delivery tasks for specified user ids

数据库结构