2016-12-02 17 views
0

私はページの更新をリクエストしています。追加すると、新しいページ要求が似ている:Laravel 5.3のユニークなルールの更新リクエスト

'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, 
    ... 
    ] 

である私は、このエラーを取得しています:私のMySQLで

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

私はID(小文字)の列を持っていますそれはプライマリキーとタイトル列(小文字も含む)です。

答えて

4

あなたがここにバグがあります。

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, 
    ... 
    ] 
+0

であるべきはい、今ではすべてのエラーを示していないが、それは、このIDを除外しないように。それは私に検証エラーを与える。 タイトルは既に取得済みです。 – KondukterCRO

+0

これは '$ this'に依存しますが、あなたのモデルは' rules() 'メソッドを持っていますか?あなたが間違ったクラスからIDを取得していない場合...それは別の問題ですので、詳細を別の質問を開きます。 –

+0

antonio、おそらくフォーム要求 – lagbox

1
SQLSTATE[42S22]: Column not found: 1054 Unknown column ' title' 

「タイトル」という名前の列を探しています、列名がbegginingでスペースなしで送信されていることを愚かが、ダブルチェックすることが可能と思われます。

関連する問題