Laravel 5.3使用唯一规则更新请求,但有例外

Kon*_*CRO 0 php laravel laravel-request laravel-5.3

我有要求更新页面.添加新页面请求时如下:

'title'=>'required|max:70|unique:pages',
Run Code Online (Sandbox Code Playgroud)

但是当我更新页面标题必须是唯一的但需要检查除已经输入的所有其他标题.我在谷歌搜索了所有可能的解决方案,但没有任

我试过了:

'title'=>"required|max:70|unique:pages, title,{$this->id}",
'title'=>'required|max:70|unique:pages, title,'.$this->id,
'title'=>'required|max:70|unique:pages, title,'.$this->input('id'),
Run Code Online (Sandbox Code Playgroud)

规则是内部规则方法

public function rules()
{
    return [
    'title'=>'required|max:70|unique:pages, title,'.$this->id,
    ...
    ]
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column ' title' in 'where clause' (SQL: select count(*) as aggregate from `pages` where ` title` = test and `id` <> )
Run Code Online (Sandbox Code Playgroud)

在我的mysql中,我有id(小写)列,它是主键和标题列(也是小写).

Ant*_*iro 5

你有一个错误:

public function rules()
{                                          This space is causing trouble
                                           | 
    return [
    'title'=>'required|max:70|unique:pages, title,'.$this->id,
    ...
    ]
Run Code Online (Sandbox Code Playgroud)

应该

public function rules()
{                                          Space removed
                                           | 
    return [
    'title'=>'required|max:70|unique:pages,title,'.$this->id,
    ...
    ]
Run Code Online (Sandbox Code Playgroud)