0

データベースに値を送信する前に値を試しています。私のフィールドは非常に特殊な種類の検証を必要とするため、私の質問は 2 つの部分で構成されています。

私のテーブルには 3 つのフィールドがあります: id、name、parent_id

現在、これらの行を使用して変数を検証しています:

protected static $rules = array(
    'name' => 'Required|Min:1|Max:255|unique:table,name'
);

そして、それはうまく機能します...

ただし、名前を変更しないと同一であるため、このレコードを編集する機能も無効になります... 1) レコードの ID を無視する必要があります (これは固定整数ではなく変数である必要があります)。

ドキュメントでこれを見つけました: http://laravel.com/docs/validation#rule-unique

これは機能しますが、変数ではありません:

'name' => 'Required|Min:1|Max:255|unique:table,fieldname,1'

そしてlaravelフォーラムでこれを見つけました: http://forums.laravel.io/viewtopic.php?id=1868

だから私はこれを試しました:

'name' => 'Required|Min:1|Max:255|unique:table,fieldname,$input["table_id"]'

'name' => 'Required|Min:1|Max:255|unique:table,fieldname,'.$input["table_id"]

しかし、これは私にとってはうまくいきません...

2) name は、同じ parent_id を持つすべてのレコードに対して一意である必要があります。変数を使用してこれを行いたいと思います。ドキュメントによると、次のようなことができるはずです:

'name' => 'Required|Min:1|Max:255|unique:table,fieldname,'.$input["table_id"] .',parent_id,'.$input["parent_id"]

しかし、これはうまくいかないようです...

前もって感謝します。

4

1 に答える 1