未定义的偏移量:laravel 验证出现 1 个错误
Undefined offset: 1 error for laravel validation
我在 laravel 中对我的表格进行了一些验证,以确保用户领取的礼物是使用以下代码分配给他们的活动的礼物
'gift_id' => 'required|int|exists:gifts,campaign_id,' . \Auth::user()->campaign->id,
但是在提交表单时我收到以下错误
ErrorException in ValidatesAttributes.php line 721:
Undefined offset: 1
有人可以帮我吗?
谢谢
您需要更自定义的存在规则。根据docs exists as a string只能处理特定列中特定输入值的存在:
'gift_id' => [
'required',
'int',
Rule::exists('gifts')->where(function ($query) {
$query->where('campaign_id', \Auth::user()->campaign->id);
}),
],
或类似的东西。
我目前正在处理的 Laravel 应用程序开始抛出该异常。就我而言,问题略有不同。这是我的原始代码:
// ...
'extension_id' => [
'nullable',
'int',
Rule::exists('extensions,id'),
],
// ...
我将 ,id
添加到 table 名称,希望在框架检查值是否存在时使用正确的列名。但是,它没有按预期工作。我从 Illuminate\Validation\Concerns\ValidatesAttributes
class.
得到了那个例外
Undefined offset: 1
经过一些尝试,我终于能够通过向规则传递两个参数而不是单个字符串来克服错误:
Rule::exists('extensions', 'id'),
我知道这与 OP 的情况不同,但我想它可以帮助其他和我一样遇到同样问题的人。
我在 laravel 中对我的表格进行了一些验证,以确保用户领取的礼物是使用以下代码分配给他们的活动的礼物
'gift_id' => 'required|int|exists:gifts,campaign_id,' . \Auth::user()->campaign->id,
但是在提交表单时我收到以下错误
ErrorException in ValidatesAttributes.php line 721: Undefined offset: 1
有人可以帮我吗?
谢谢
您需要更自定义的存在规则。根据docs exists as a string只能处理特定列中特定输入值的存在:
'gift_id' => [
'required',
'int',
Rule::exists('gifts')->where(function ($query) {
$query->where('campaign_id', \Auth::user()->campaign->id);
}),
],
或类似的东西。
我目前正在处理的 Laravel 应用程序开始抛出该异常。就我而言,问题略有不同。这是我的原始代码:
// ...
'extension_id' => [
'nullable',
'int',
Rule::exists('extensions,id'),
],
// ...
我将 ,id
添加到 table 名称,希望在框架检查值是否存在时使用正确的列名。但是,它没有按预期工作。我从 Illuminate\Validation\Concerns\ValidatesAttributes
class.
Undefined offset: 1
经过一些尝试,我终于能够通过向规则传递两个参数而不是单个字符串来克服错误:
Rule::exists('extensions', 'id'),
我知道这与 OP 的情况不同,但我想它可以帮助其他和我一样遇到同样问题的人。