问题标签 [laravel-exceptions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2656 浏览

php - 什么触发了“尝试获取非对象的属性”错误

自从我开始我的第一个 Laravel 项目以来,我一直在 Trying to get property 'column_name' of non-object不停地遇到错误,而且大多数时候我都能够以一种或另一种方式修复它,但问题是,我不知道为什么会出现错误,或者我该如何防止它。例如,

每当我按下该下载链接时,我都会得到一个带有trying to get property 'column' of non-object (View: /usr/src/workapp/resources/views/pdf/pdfgen.blade.php). 为什么我收到此错误,而不是打开/保存对话框?

编辑:忘记添加,在尝试使用 $id 获取特定数据之前,我调用了整个表($data = Table::all();)并@foreach在刀片视图中使用 a 在表中打印它

编辑 2:添加模型

0 投票
1 回答
423 浏览

laravel - 在 laravel 中处理异常而不在异常处理程序的渲染方法中进行类型检查异常并且不定义自定义异常?

我正在通过异常处理程序的渲染方法中的类型检查异常来处理诸如 NotFoundHttpExceptionUnauthorizedException之类的laravel异常,进行许多我认为违反OCP(对扩展开放以进行修改)原则的检查。该文档通过使用必须从我不想要的控制器(或任何地方)抛出的可渲染异常( https://laravel.com/docs/6.x/errors#renderable-exceptions )解决了这个问题,我想要捕获 laravel 异常,例如ModelNotFoundException在处理程序类中并以干净的方式返回我的自定义响应,换句话说,我正在寻找一种干净的方式来处理 laravel 异常而不从控制器抛出异常。

0 投票
1 回答
54 浏览

laravel - Laravel 处理 PDO 异常消息

我正在处理我的 Laravel 项目中的异常。我在 Handler 中像这样处理它们:

ModelNotFoundException 一切正常。我得到了正确的信息。

显示 PDO 异常消息将导致如下所示:

这将公开我的所有数据库字段和查询本身。我想要一个简单的消息,例如:

我尝试使用 getCode 但这只会显示一般数据库错误消息“HY000”,而不会提示问题可能是什么。

我怎样才能得到我想要的消息?

此外,使用 Debugbar,我看到当 saveOrFail 抛出异常时,它会抛出 PDOException 和 QueryException。这个对吗?

谢谢你。

0 投票
0 回答
84 浏览

php - 如何在自定义 Http Exception 中调用刀片视图?(Laravel 7)

我希望从包的中间件触发的 HttpException 返回一个视图,目前,它返回一个静态 403 异常,我想将其更改为包中的自定义视图。

但是,我尝试在异常本身中返回一个视图,但由于接收到 TypeError,这被证明是徒劳的。TypeError Return value of Username\Roles\Exceptions\InsufficientRoleException::forRoles() must be an instance of Username\Roles\Exceptions\InsufficientUsergroupException, instance of Illuminate\View\View returned

这是代码块本身,如果有人知道无需修改即可完成此操作的方法,App\Exceptions\Hander.php那将是惊人的,因为我试图将其保留在包代码本身中,并且不对每个 Laravel 应用程序进行手动编辑。

您能提供的任何支持将不胜感激!谢谢您阅读此篇。:)

0 投票
1 回答
350 浏览

laravel - 日志中的 Laravel 错误没有告诉我需要修复什么

我几乎每天都在我的 Laravel 日志中收到错误消息,但错误消息并没有告诉我是哪个视图或控制器导致了错误。这是一个 FormRequest.php 错误,所以我知道这是一个表单验证错误。问题是我的网站有数百个表单,所以我不知道我需要修复哪个脚本才能使错误消失。

这是我得到的确切错误。如您所见,堆栈跟踪仅提及供应商文件。它没有列出我自己的任何脚本,也没有给出任何关于修复什么的建议。

请注意:我不是要求解决如何解决“传递给 Illuminate\Validation\Factory::make() 的参数 2 必须是数组类型,给定 null。” 我正在询问我的代码中的错误在哪里,以便我可以修复它。

0 投票
0 回答
25 浏览

laravel - Laravel 显示缓存中的错误

我是 Laravel 的新手,遇到了一个我无法解决的问题。希望得到提示。

我构建了一个应用程序,它检索票证列表,这些票证显示为带有复选框的项目列表。当我选择多个复选框之一时,我想根据条件进一步处理所选项目。如果条件不满足,我想在每个未进行的项目旁边显示一个错误。

在我的控制器中,我将条件放在 try and catch 中:

在刀片中,我有:

问题是,如果没有电子邮件(在此示例中,我简化了代码只是为了有个想法)我会在每个名称前收到错误消息。但。当我从5个项目中选择3个提交时,第一个正确的会通过,第二个,如果有错误会用try和catch破坏代码,即使第三个没问题,它也会停止并显示错误在每一行的前面,甚至是我没有选择提交的那一行。它会在每个前面显示相同的第一个错误名称。我想到了缓存错误并在它将遍历所选项目后显示它的想法,首先能够在不破坏代码的情况下传递所有可用的,其次-我希望仅在不显示的名称前面显示错误没有电子邮件。但我不知道从哪里开始。我会很感激任何帮助。