尝试创建新模型记录后,Laravel Livewire返回黑色弹出窗口

iyfjxgzm  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(100)

我正在创建我的自定义活动日志,除了与Livewire一起工作的部分外,一切都很好。我的产品编辑页面是整个与livewire一起制作的(10个组件分开),当我尝试进行一些更改时(发送更新方法请求)我得到了一个黑色的弹出窗口,就像我们添加一些东西时一样,只是里面没有任何消息。由于日志制作是LW中保存方法的最后一部分,产品得到保存,并且除了日志生成之外,所有代码都运行良好。
Black popup
生成日志的代码在模型中是一个静态方法:

// Helper methods
public static function log($message, $model_id, $model_type, $query_info, $view_route = '')
{
    // Check if something is created by the System or by the logged user
    if (Auth::check()) {
        $author = Auth::user()->id;
    } else {
        $author = 'System';
    }

    self::create([
        'user_id' => $author,
        'loggable_id' => $model_id,
        'loggable_type' => $model_type,
        'action_executed' => $message,
        'view_route' => $view_route,
        'query_info' => json_encode($query_info),
        'description' => 'Automated system log',
        'executed_at' => now()
    ]);
}

这就是它的名字:

Changelog::log('Product updated ID ' . $this->product->id, $this->product->id, $this->model,DB::getQueryLog(), 'admin.product.view');

我错过了什么吗?
我已经尝试逐行dd以查看它在哪里被破坏,似乎一切都很好,直到代码在模型中达到self::create

x0fgdtte

x0fgdtte1#

已修复

大家好,如果有人在做这样的事情,问题是获取错误/丢失路线等异常。
通常,当你捕获异常时,它会有“previous”,因为我不知道有些异常可以没有它,这就是导致错误的问题。

if($exception)
    {
        Changelog::log($exception->getMessage(), null, get_class($exception->getPrevious()), DB::getQueryLog(), '');
    }

下面是我使用的代码,以防您想知道如何捕获它^^

相关问题