【发布时间】:2017-02-09 20:00:33
【问题描述】:
我正在使用 Laravel 5.3,我想在请求文件中进行查询,我为用户可以编辑其频道的表单设置了一些验证规则。在该文件中,我想进行如下查询:
$channelId = Auth::user()->channels()->where('id', $this->id)->get();
这样我就可以获取频道 ID 并将其从规则数组中排除,这就是文件的样子:
public function rules()
{
$channelId = Auth::user()->channels()->where('id', $this->id)->get();
return [
'name' => 'required|max:255|unique:channels,name,' . $channelId,
'slug' => 'required|max:255|alpha_num|unique:channels,slug,' . $channelId,
'description' => 'max:1000',
];
}
我不确定如何获取请求文件中正在更新的对象的channel id?
【问题讨论】:
-
您的意思是您不知道如何获取随表单发送的 id(您在示例中使用 $this->id)?
-
是的,没错
-
您在 Request 对象中,这意味着您可以使用它的内置函数来检索输入:$this->input()、$this->input('id')。阅读更多关于laravel.com/docs/5.3/requests#retrieving-input
标签: php laravel validation eloquent