データベースに値を送信する前に値を試しています。私のフィールドは非常に特殊な種類の検証を必要とするため、私の質問は 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"]
しかし、これはうまくいかないようです...
前もって感謝します。