0

我遇到了与 Voyager 交朋友 Spatie 媒体库的问题。将 Bread 添加到此表时,有一个名为 Model Name 的字段。如果我用实现 HasMedia 的模型填充它,则面包已成功创建。但是当浏览“媒体”表时 - 这个表是空的。如果我用任何其他值填充字段模型名称,则会出现错误 - 此类不存在。

表确实有字段,我可以用 php-my-admin 看到它

更新: 我已添加到我的模型代码中,如文档https://docs.spatie.be/laravel-medialibrary/v7/basic-usage/preparing-your-model中所述

namespace App;

use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
use Spatie\MediaLibrary\HasMedia\Interfaces\HasMedia;

class Game extends Model implements HasMedia
{
    use HasMediaTrait;

    ...
}

调整我的模型控制器,所以我可以添加图像

 public function store(Request $request)
{
    $newGame = new Game;

    $newGame->name = $request->game_name;
    $newGame->addMediaFromRequest('game_shortcut')->toMediaCollection('shortcut'); // изображение   
    $newGame->save();

    ...
}

现在我已经在我的文件系统中上传了图像文件,并在与游戏对象相关的 spatie 'media' 表中的图像条目。 http://joxi.ru/Vrwn5pbCKyWJgA

问题是我无法在 Voyager 中查看“媒体”表,因为我无法正确创建 BREAD

更新:如果创建 BREAD 而不填写 Model 字段,那么它会失败

Symfony \ Component \ HttpKernel \ Exception \ AccessDeniedHttpException
This action is unauthorized

浏览表格时出错

4

0 回答 0