lartisan / laravel-sortable-medialibrary
将文件与Eloquent模型关联并添加可排序行为
9.4.2
2021-01-15 07:55 UTC
Requires
- php: ^7.4|^8.0
- ext-exif: *
- ext-fileinfo: *
- ext-json: *
- illuminate/bus: ^7.0|^8.0
- illuminate/console: ^7.0|^8.0
- illuminate/database: ^7.0|^8.0
- illuminate/pipeline: ^7.0|^8.0
- illuminate/support: ^7.0|^8.0
- league/flysystem: ^1.0.64
- maennchen/zipstream-php: ^1.0|^2.0
- spatie/image: ^1.4.0
- spatie/temporary-directory: ^1.1
- symfony/console: ^4.4|^5.0
Requires (Dev)
- ext-pdo_sqlite: *
- ext-zip: *
- aws/aws-sdk-php: ^3.133.11
- doctrine/dbal: ^2.5.2
- guzzlehttp/guzzle: ^6.3|^7.0
- league/flysystem-aws-s3-v3: ^1.0.23
- mockery/mockery: ^1.3
- orchestra/testbench: ^5.0|^6.0
- phpunit/phpunit: ^9.1
- spatie/pdf-to-image: ^2.0
- spatie/phpunit-snapshot-assertions: ^4.0
Suggests
- league/flysystem-aws-s3-v3: Required to use AWS S3 file storage
- php-ffmpeg/php-ffmpeg: Required for generating video thumbnails
- spatie/pdf-to-image: Required for generating thumbsnails of PDFs and SVGs
Conflicts
- php-ffmpeg/php-ffmpeg: <0.6.1
- dev-master
- 9.4.2
- 9.4.1
- 9.4.0
- 9.3.0
- 9.2.0
- 9.1.7
- 9.1.6
- 9.1.5
- 9.1.4
- 9.1.3
- 9.1.2
- 9.1.1
- 9.1.0
- 9.0.1
- 9.0.0
- v8.x-dev
- 8.10.1
- 8.10.0
- 8.9.3
- 8.9.2
- 8.9.1
- 8.9.0
- 8.8.0
- 8.7.5
- 8.7.4
- 8.7.3
- 8.7.2
- 8.7.1
- 8.7.0
- 8.6.0
- 8.5.2
- 8.5.1
- 8.5.0
- 8.4.1
- 8.4.0
- 8.3.3
- 8.3.2
- 8.3.1
- 8.3.0
- 8.2.9
- 8.2.7
- 8.2.6
- 8.2.5
- 8.2.4
- 8.2.3
- 8.2.2
- 8.2.1
- 8.2.0
- 8.1.0
- 8.0.8
- 8.0.7
- 8.0.6
- 8.0.5
- 8.0.4
- 8.0.3
- 8.0.2
- 8.0.1
- 8.0.0
- v7.x-dev
- 7.19.5
- 7.19.4
- 7.19.3
- 7.19.2
- 7.19.1
- 7.19.0
- 7.18.3
- 7.18.2
- 7.18.1
- 7.18.0
- 7.17.1
- 7.17.0
- 7.16.2
- 7.16.1
- 7.16.0
- 7.14.2
- 7.14.1
- 7.14.0
- 7.13.0
- 7.12.4
- 7.12.3
- 7.12.2
- 7.12.1
- 7.12.0
- 7.11.0
- 7.10.1
- 7.10.0
- 7.9.0
- 7.8.2
- 7.8.1
- 7.8.0
- 7.7.0
- 7.6.9
- 7.6.8
- 7.6.7
- 7.6.6
- 7.6.5
- 7.6.4
- 7.6.3
- 7.6.2
- 7.6.1
- 7.6.0
- 7.5.6
- 7.5.5
- 7.5.4
- 7.5.3
- 7.5.2
- 7.5.1
- 7.5.0
- 7.4.3
- 7.4.2
- 7.4.1
- 7.4.0
- 7.3.12
- 7.3.11
- 7.3.10
- 7.3.9
- 7.3.8
- 7.3.7
- 7.3.6
- 7.3.5
- 7.3.4
- 7.3.3
- 7.3.2
- 7.3.1
- 7.3.0
- 7.1.8
- 7.1.7
- 7.1.6
- 7.1.5
- 7.1.4
- 7.1.3
- 7.1.2
- 7.1.1
- 7.1.0
- 7.0.6
- 7.0.5
- 7.0.4
- 7.0.3
- 7.0.2
- 7.0.1
- 7.0.0
- v6.x-dev
- 6.9.2
- 6.9.1
- 6.9.0
- 6.8.0
- 6.7.0
- 6.6.9
- 6.6.8
- 6.6.7
- 6.6.6
- 6.6.5
- 6.6.4
- 6.6.3
- 6.6.2
- 6.6.1
- 6.6.0
- 6.5.0
- 6.4.2
- 6.4.1
- 6.4.0
- 6.3.0
- 6.2.1
- 6.2.0
- 6.1.3
- 6.1.2
- 6.1.1
- 6.1.0
- 6.0.0
- v5.x-dev
- 5.14.0
- 5.13.2
- 5.13.1
- 5.13.0
- 5.12.1
- 5.12.0
- 5.11.1
- 5.11.0
- 5.10.0
- 5.9.0
- 5.8.2
- 5.8.1
- 5.8.0
- 5.7.0
- 5.6.0
- 5.5.3
- 5.5.2
- 5.5.1
- 5.5.0
- 5.4.0
- 5.3.3
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.0
- 5.1.0
- 5.0.2
- 5.0.1
- 5.0.0
- v4.x-dev
- 4.13.5
- 4.13.4
- 4.13.3
- 4.13.2
- 4.13.1
- 4.13.0
- 4.12.1
- 4.12.0
- 4.11.3
- 4.11.2
- 4.11.1
- 4.11.0
- 4.10.3
- 4.10.2
- 4.10.1
- 4.10.0
- 4.9.5
- 4.9.4
- 4.9.3
- 4.9.2
- 4.9.1
- 4.9.0
- 4.8.4
- 4.8.3
- 4.8.2
- 4.8.1
- 4.8.0
- 4.7.1
- 4.7.0
- 4.6.0
- 4.5.0
- 4.4.1
- 4.4.0
- 4.3.0
- 4.2.1
- 4.2
- 4.1
- 4.0.1
- 4.0.0
- v3.x-dev
- 3.18.0
- 3.17.4
- 3.17.3
- 3.17.2
- 3.17.1
- 3.17.0
- 3.16.1
- 3.16.0
- 3.15.0
- 3.14.1
- 3.14.0
- 3.13.4
- 3.13.3
- 3.12.2
- 3.12.1
- 3.12.0
- 3.11.3
- 3.11.2
- 3.11.1
- 3.11.0
- 3.10.2
- 3.10.1
- 3.10.0
- 3.9.2
- 3.9.1
- 3.9.0
- 3.8.0
- 3.7.3
- 3.7.2
- 3.7.1
- 3.7.0
- 3.6.0
- 3.5.1
- 3.5.0
- 3.4.0
- 3.3.1
- 3.3.0
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.5
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.1
- 3.0.0
- v2.x-dev
- 2.3.0
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.1
- 2.0.0
- v1.x-dev
- 1.6.2
- 1.6.1
- 1.6.0
- 1.5.6
- 1.5.5
- 1.5.4
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- v1.0.1
- v1.0.0
- 0.1.0
This package is auto-updated.
Last update: 2024-09-16 01:11:10 UTC
README
对原始包的更改
此分支包从 Spatie\MediaLibrary\MediaCollections\Models\Media
中删除了 IsSorted 特性,因此可以通过 spatie/eloquent-sortable 来实现排序/排序部分。我还添加了 spatie/eloquent-sortable
作为依赖项。
安装
此包使用 "spatie/eloquent-sortable": "^3.11"
与 "spatie/laravel-medialibrary": "^9.0.0"
一起,可以通过Composer安装
composer require lartisan/laravel-sortable-medialibrary
在Laravel 5.5及以上版本中,服务提供程序将自动注册。在框架的较旧版本中,只需将服务提供程序添加到 config/app.php 文件中即可
'providers' => [ ... Spatie\MediaLibrary\MediaLibraryServiceProvider::class, Spatie\EloquentSortable\EloquentSortableServiceProvider::class, ];
可选地,您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="migrations" php artisan vendor:publish --provider="Spatie\EloquentSortable\EloquentSortableServiceProvider" --tag="config"
用法
要将预期的Eloquent可排序行为添加到自定义Media模型中,您必须
- 实现
Spatie\EloquentSortable\Sortable
接口。 - 使用特质
Spatie\EloquentSortable\SortableTrait
。 - 可选地,指定将用作排序列的列。默认为
order_column
。 - 可选地,如果您的模型/表有一个分组字段,您可以在模型中创建一个
buildSortQuery
方法。
示例
... use Spatie\EloquentSortable\Sortable; use Spatie\EloquentSortable\SortableTrait; use Spatie\MediaLibrary\MediaCollections\Models\Media as BaseMedia; class MyCustomMedia extends BaseMedia implements Sortable { use SortableTrait; /** * Define the column used for sorting * @var array */ public $sortable = [ 'order_column_name' => 'order_column', 'sort_when_creating' => true, ]; /** * @return Builder */ public function buildSortQuery(): Builder { return static::query() ->where('collection_name', $this->collection_name); } ... }
要将原始包的默认排序行为添加到自定义Media模型中
您仍然可以通过向模型添加 Spatie\MediaLibrary\MediaCollections\Models\Concerns\IsSorted
来使用原始包的默认 IsSorted 行为。
示例
... use Spatie\MediaLibrary\MediaCollections\Models\Concerns\IsSorted; use Spatie\MediaLibrary\MediaCollections\Models\Media as BaseMedia; class MyCustomMedia extends BaseMedia { use IsSorted; }
文档
原始的 spatie/laravel-medialibrary 包。
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。