niyazialpay/laravel-medialibrary-mongodb

将文件与Eloquent模型关联

dev-main 2024-03-14 15:11 UTC

This package is auto-updated.

Last update: 2024-09-14 16:13:43 UTC


README

Social Card of Laravel Media Library

我创建了一个新的包,通过克隆Spatie Media Library包以使其与官方MongoDB包兼容

安装包

composer require niyazialpay/laravel-medialibrary-mongodb

发布配置文件

php artisan vendor:publish --provider="niyazialpay\MediaLibrary\MediaLibraryServiceProvider" --tag="medialibrary-config"

发布迁移文件

php artisan vendor:publish --provider="niyazialpay\MediaLibrary\MediaLibraryServiceProvider" --tag="medialibrary-migrations"

将文件与Eloquent模型关联

此包可以将各种类型的文件与Eloquent模型关联。它提供了一个简单的API来操作。要了解所有信息,请访问详细的文档

以下是您可以执行的一些简短示例

$newsItem = News::find(1);
$newsItem->addMedia($pathToFile)->toMediaCollection('images');

它可以直接处理您的上传

$newsItem->addMedia($request->file('image'))->toMediaCollection('images');

想将一些大文件存储在另一个文件系统中?没问题

$newsItem->addMedia($smallFile)->toMediaCollection('downloads', 'local');
$newsItem->addMedia($bigFile)->toMediaCollection('downloads', 's3');

文件的存储由Laravel的文件系统处理,因此您可以使用任何您喜欢的文件系统。此外,此包可以在媒体库中添加的图片和PDF上创建图像处理。

Spatie是比利时安特卫普的一家网页设计公司。您可以在我们的网站上找到所有开源项目的概述在这里

支持我们

我们投入了大量资源来创建一流的开放源代码包。您可以通过购买我们的付费产品之一来支持我们。

我们非常感激您从家乡寄给我们明信片,说明您正在使用我们的哪个包。您可以在我们的联系页面上找到我们的地址。我们将所有收到的明信片发布在我们的虚拟明信片墙上

文档

您可以在https://spatie.be/docs/laravel-medialibrary上找到文档。

在使用包时遇到困难?发现了一个错误?您有什么一般性的问题或对改进媒体库的建议?请随时在GitHub上创建问题,我们将尽快解决。

如果您发现了一个关于安全性的错误,请通过security@spatie.be发送邮件,而不是使用问题跟踪器。

测试

您可以使用以下命令运行测试

./vendor/bin/pest

您可以使用act在本地运行Github actions。您必须为ubuntu-latest平台使用自定义镜像以正确启动PHP。要本地运行测试,请运行

act -P ubuntu-latest=shivammathur/node:latest

要运行特定的工作流程,例如 run-tests.yml,请运行

act -P ubuntu-latest=shivammathur/node:latest -j run-tests

升级

请参阅UPGRADING以获取详细信息。

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

贡献

请参阅贡献以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件security@spatie.be联系,而不是使用问题跟踪器。

致谢

特别感谢Nicolas Beauvais帮助解决这个仓库的问题。

还要特别感谢Caneco为Logo✨所做的贡献。

替代方案

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件