Module route "uses" throwing error on install
Created 7 years ago by emergingdznsDid something change recently in the module service provider methodology? I am trying to install a new module on a new installation of Pyro and I'm getting this error:
ErrorException (E_NOTICE)
Undefined index: uses
In the pretty page output on the right it's highlighting the following lines of vendor/anomaly/streams-platform/src/Addon/AddonProvider.php (338&339):
if (is_string($route['uses']) && !str_contains($route['uses'], '@')) {
$this->router->resource($uri, $route['uses']);
Here's an example of my $routes variable in my new module:
protected $routes = [
'admin/horses/registrations' => 'Evet\HorsesModule\Http\Controller\Admin\RegistrationsController@index',
'admin/horses/registrations/edit/{id}' => 'Evet\HorsesModule\Http\Controller\Admin\RegistrationsController@edit',
'admin/horses/payments' => 'Evet\HorsesModule\Http\Controller\Admin\PaymentsController@index',
'admin/horses/payments/edit/{id}' => 'Evet\HorsesModule\Http\Controller\Admin\PaymentsController@edit',
'admin/horses' => 'Evet\HorsesModule\Http\Controller\Admin\HorsesController@index',
'admin/horses/create' => 'Evet\HorsesModule\Http\Controller\Admin\HorsesController@create',
'admin/horses/edit/{id}' => 'Evet\HorsesModule\Http\Controller\Admin\HorsesController@edit',
'horses' => ['middleware' => 'auth',
'uses' => 'Evet\HorsesModule\Http\Controller\HorsesController@index'],
'horses/create' => ['middleware' => 'auth',
'Evet\HorsesModule\Http\Controller\HorsesController@create'],
'horses/remove/{id}' => ['middleware' => 'auth',
'Evet\HorsesModule\Http\Controller\HorsesController@remove'],
'cart' => ['middleware' => 'auth',
'Evet\HorsesModule\Http\Controller\RegistrationController@cart'],
'cart/add/{horseId}' => ['middleware' => 'auth',
'Evet\HorsesModule\Http\Controller\RegistrationController@addToCart'],
'cart/remove/{id}' => ['middleware' => 'auth',
'Evet\HorsesModule\Http\Controller\RegistrationController@removeFromCart'],
'cart/update' => ['middleware' => 'auth',
'Evet\HorsesModule\Http\Controller\RegistrationController@updateCart'],
'checkout' => ['middleware' => 'auth',
'Evet\HorsesModule\Http\Controller\RegistrationController@checkout'],
'checkout/receipt' => ['middleware' => 'auth',
'Evet\HorsesModule\Http\Controller\RegistrationController@checkoutComplete'],
];
I've already syntax checked my code and it's fine. I've used this same ["uses" => 'xxx@yyy', 'middleware' => 'auth'] scheme in previous modules with perfect success. Now the module is installed but breaking the entire site and artisan with it so I can even uninstall the module. What do I do now?
Ok we good here? Let me know if you run into anything that needs fixed I'll take care of it 😊
Nevermind. Somehow I only got 'uses' => before the first route. Ugh. That's what I get for coding tired.