0
私はAppServiceProviderにあるカスタムバリデータを作成しました。 bootメソッドには、バリデータに渡された最初のpatameterをテーブル名として受け入れるDBメソッドが含まれています。私は手動でテーブル名を記入すると、それは動作しますが、最初のパラメータが渡されたとき、私はこのエラーに遭遇:カスタムバリデータに変数を渡す方法
QueryException in Connection.php line 729:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'server1.{users}'
doesn't exist (SQL: select count(*) as aggregate from `{users}` where `email` =
[email protected] and `STORE_ID` = 2)
は、ここに私のサービスプロバイダーのコードです:どこに問題
public function boot()
{
Validator::extend('uniqueForStore', function ($attribute, $value, $parameters, $validator) {
$count = DB::table($parameters[0])->where($attribute, $value)->where('STORE_ID', config('constants.STORE_ID'))->count();
return $count === 0;
});
}
ですある:
DB::table($parameters[0])
は、ここに私の登録ユーザーフォーム要求コードです:
public function rules()
{
return [
'first_name' => 'required',
'last_name' => 'required',
'email' => "uniqueForStore:{users}",
'password' => 'required|min:6'
];
}
あなただけの「uniqueForStore:ユーザー」に設定カント? –
ありがとう@PatrykWoziński。できます。答えを加えれば、それを受け入れることができます。 – andromeda
ありがとう。 :) –