ルートにアクセスしようとすると、以下のエラーが発生しますが、データをロードするにはコントローラーが必要です。
(1/1) InvalidArgumentException
Action Facade\Ignition\Http\Controllers\ShareReportController not defined.
私はTenancy/Multi-Tenantパッケージを使用しており、routes/tenants.phpを使用してテナント専用のルートをロードするように構成しました。 tenants.phpファイルで次のようにすると、適切な応答が返されます。
Route::get('/test', function() {
return 'Test success';
});
私が同じことをしようとすると、しかしこのようなコントローラーからデータをロードするとき:
Route::get('/testt', 'TenantController@testt');
エラーが表示されます:
(1/1) InvalidArgumentException
Action Facade\Ignition\Http\Controllers\ShareReportController not defined.
同じコードをweb.phpルートに配置しようとすると、完全に機能します。何が問題でしょうか?それは私のコードに何かありますか?私が使用しているマルチテナントパッケージが原因である可能性はありますか?これをさらにデバッグするにはどうすればよいですか?
修正は、ルートをtenants.php
でグループ化し、ウェブミドルウェアと名前空間を使用することでした。
Route::middleware('web')->namespace('App\Http\Controllers')->group(function() {
//Routes
});
composer dump-autoload -o
をお試しください。
数分後に修正しようとしたところ、解決策が見つかりました。
RoutesServiceProviderまたはカスタムプロバイダーで行った場合は、ルートをグループ化する必要はありません。
_config/tenancy.php
_に移動して_routes -> path
_に移動し、base_path()
関数を削除して文字列を取得します。
_'path' => base_path('routes/tenants/tenants.php'),
_
に
_'path' => 'routes/tenants/tenants.php',
_
そして、このエラーは修正されるべきです。
ルートがキャッシュされているかどうかを確認し、そのキャッシュをクリアしてみてください。 route:clear
を使用してプロジェクトのルートキャッシュをクリアするだけです
サーバー側では、/ stoageフォルダーに移動してキャッシュをクリアしました。例えば。/storage内のフォルダーを表示します。次に、すべてのフォルダーとファイルのアクセス許可をすべて読み取りと書き込みに変更しました。その後、開始されたページが期待どおりに表示されます
Laravel 6.2にlaravel/passport 8.1をインストールした後、同様のエラーが発生しました:
アクションFacade\Ignition\Http\Controllers\ExecuteSolutionControllerが定義されていません。
それを修正しましたcomposer update
。結果は:
ファサード/点火の更新(1.13.0 => 1.13.1):
Google経由でこれを見つけた人々:Laravel 6.5で同様のエラーが発生しました。不完全なGitマージでAppServiceProviderをめちゃくちゃにしました:
<?php
namespace App\Providers;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Blade;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Blade;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
<<<<<<< HEAD
Blade::if(
'iscurrentroute',
function ($route) {
$route = Str::replaceFirst(Request::getSchemeAndHttpHost().'/', '', $route);
return Request::is($route);
}
);
=======
Blade::component('components.sortable', 'sortable');
>>>>>>> feature/WLI-58-bedrijf-beheren
}
}
「=」、「<」、「>」を削除し、Bladeを2回使用することで修正されました。