2017-07-21 12 views
0

私はのServiceProviderを持っています。そして、いくつかの(多くの)属性を追加することができます。Laravel動的に作成する機能が

(Iツーリストモデルからすべてのフィールド名を取得する方法を知っている:$配列は=スキーマ:: getColumnListing(「観光客」);)

だから私の質問はを動的に作成作成する方法です。

バリ::延長( ' fieldname_fail ' 「のApp \ Servicesの\のCustomValidator フィールド名 FailValidator '@)

boot()メソッドの内部に

私は任意の助けを感謝...

をマジック_CALLメソッドを使用しようとしましたが、成功しませんでした!:)

+0

私は、ネットワークを介して、この匂いを嗅ぐことができます!あまりにも多くの魔法はちょっと悪いです。30日後に戻ってくると、アプリのこの部分がどのように機能するのかわかりません。 – Kyslik

答えて

1

私が正しく理解していれば、あなたがこのようなものが必要。

  1. テーブルフィールド(モデル属性)を繰り返します。
  2. フィールド(モデル属性)ごとにバリデータを拡張します。ここで

コードの例です:

foreach (Schema::getColumnListing('tourists') as $attribute) { 
    Validator::extend("{$attribute}_fail", "App\Services\[email protected]{$attribute}FailValidator"); 
} 
+0

あなたは素晴らしい!私はそれを理解していないと思っています。 –

+0

「$ {$ attribute} _fail」は「{$ attribute} _fail」 で、「$ {$ attribute} FailValidator」は「{$ attribute} FailValidator」でなければなりません。してください、あなたの答えを修正し、私はそれを "右"として受け入れる:) –

+0

あなたは正しいです!完了) – tooleks

関連する問題