Laravel 5.3 具有唯一规则的更新请求,但有例外
Laravel 5.3 update request with unique rule with exception
我有更新页面的请求。添加新页面时请求如下:
'title'=>'required|max:70|unique:pages',
但是当我更新页面标题时,它必须是唯一的,但需要检查除已输入的标题之外的所有其他标题。
我搜索了 Google 所有可能的解决方案,但没有任何效果。
我试过了:
'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'),
规则在规则方法中
public function rules()
{
return [
'title'=>'required|max:70|unique:pages, title,'.$this->id,
...
]
我收到此错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column ' title' in 'where clause' (SQL: select count(*) as aggregate from `pages` where ` title` = test and `id` <> )
在我的 mysql 中,我有 id(小写)列是主键和 title 列(也是小写)。
SQLSTATE[42S22]: Column not found: 1054 Unknown column ' title'
它似乎在搜索名为“title”的列,这可能很愚蠢,但请仔细检查发送的列名是否在开头没有 space。
你这里有一个错误:
public function rules()
{ This space is causing trouble
|
return [
'title'=>'required|max:70|unique:pages, title,'.$this->id,
...
]
应该是
public function rules()
{ Space removed
|
return [
'title'=>'required|max:70|unique:pages,title,'.$this->id,
...
]
我有更新页面的请求。添加新页面时请求如下:
'title'=>'required|max:70|unique:pages',
但是当我更新页面标题时,它必须是唯一的,但需要检查除已输入的标题之外的所有其他标题。 我搜索了 Google 所有可能的解决方案,但没有任何效果。
我试过了:
'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'),
规则在规则方法中
public function rules()
{
return [
'title'=>'required|max:70|unique:pages, title,'.$this->id,
...
]
我收到此错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column ' title' in 'where clause' (SQL: select count(*) as aggregate from `pages` where ` title` = test and `id` <> )
在我的 mysql 中,我有 id(小写)列是主键和 title 列(也是小写)。
SQLSTATE[42S22]: Column not found: 1054 Unknown column ' title'
它似乎在搜索名为“title”的列,这可能很愚蠢,但请仔细检查发送的列名是否在开头没有 space。
你这里有一个错误:
public function rules()
{ This space is causing trouble
|
return [
'title'=>'required|max:70|unique:pages, title,'.$this->id,
...
]
应该是
public function rules()
{ Space removed
|
return [
'title'=>'required|max:70|unique:pages,title,'.$this->id,
...
]