Voyagerでテーブルを作成するたびに、Voyagerはそのデータ型を呼び出します。 Voyagerユーザーは、私たちが作成したすべてのテーブル/データタイプに対して、コントローラVoyagerBreadController.phpを** vendor \ tcg \ voyager \ src \ Http \ Controllers **に置いています。
例えば、というブランド名のテーブルを作成するとします。 LaravelはコントローラーVoyagerBreadControllerを使用します。
しかし、このコントローラを使用しているか、またはこのコントローラを指しているルートはどこですか。ルートはファイルベンダー\ tcg \ voyager \ routes \ voyager.phpにあります。このファイルでは、次の行を見つける:私のバージョンで
try {
foreach (\TCG\Voyager\Models\DataType::all() as $dataTypes) {
Route::resource($dataTypes->slug, $namespacePrefix.'VoyagerBreadController');
}
} catch (\InvalidArgumentException $e) {
throw new \InvalidArgumentException("Custom routes hasn't been configured because: ".$e->getMessage(), 1);
} catch (\Exception $e) {
// do nothing, might just be because table not yet migrated.
}
を、これらの行は、あなたが私たちのすべてのデータ型を取得して作成されたコードの上に、見ることができるように37
に行番号29の間にあります私たちのテーブル/データ型のためのルートを再構築します。
ここでをに上書きして、特定の操作に自分のコントローラを使用するルートを作成したい場合は、たとえば、ブランドのルートを作成してURLを作成したいとします。私は単純に(すなわちライン37の後に)上記のコードの下に次の行(私のルート)を追加することによってこれを行うことができます。
Route::get('brands/create', function(){return 'abc';})->name('brands.create');
か、ルート\ web.php後に以下の行を追加して同じことを行うことができますボイジャー:: routes();
Route::get('brands/create', function(){return 'abc';})->name(**'voyager.brands.create'**);
@Milad、それがあなたを助けた場合、解答として受け入れる –