Form не может найти action в модулн

Я пишу проект на laravel 5. Я сделал модули, реализовав такую структуру: https://clip2net.com/s/46k3WBb подключил их в config/module.php

    <?php
return ['modules' =>
    [
        'Temperature',
        'Orders',
        'Products',
    ],
];

Сделал файл App\Modules\ModulesServiceProvider.php

<?php

namespace App\Modules;

class ModulesServiceProvider extends \Illuminate\Support\ServiceProvider
{
    public function boot()
    {
        $modules = config("module.modules");
        if ($modules) {
            while (list(, $module) = each($modules)) {
                if (file_exists(__DIR__ . '/' . $module . '/Routes/routes.php')) {
                    $this->loadRoutesFrom(__DIR__ . '/' . $module . '/Routes/routes.php');
                }
                if (is_dir(__DIR__ . '/' . $module . '/Views')) {
                    $this->loadViewsFrom(__DIR__ . '/' . $module . '/Views', $module);
                }
                if (is_dir(__DIR__ . '/' . $module . '/Migration')) {
                    $this->loadMigrationsFrom(__DIR__ . '/' . $module . '/Migration');
                }
            }
        }
    }

    public function register()
    {

    }
}

Прописал подключение модуля в config\app.php

...
    'providers' => [
...
        App\Modules\ModulesServiceProvider::class,

    ],
...

Сделал такой роутинг для модуля в \app\Modules\Orders\Routesroutes.php

<?php
Route::group(['namespace' => 'App\Modules\Orders\Controllers',
    'as' => 'orders.',
], function () {
    Route::get('/orders', ['uses' => 'OrdersController@index']);
    Route::get('/orders/{id}', 'OrdersController@update');
    Route::post('/orders/store', 'OrdersController@store');
});

И если переходить по ссылке /orders и /orders/{id} все работает. Но стоит мне разместить на форме код

  {!! Form::open([
        'action' => 'OrdersController@store',
        'class' => 'form-horizontal'
    ]) !!}

    <div class="popover-content">

Сразу же появляется ошибка Action App\Http\Controllers\OrdersController@store not defined https://clip2net.com/s/46k44f1 Пожалуйста, кто сталикивался с такой проблеммой в чем дело? Почему роутинг для Route::post('/orders/store', 'OrdersController@store'); ищет метод не в контроллере модуля, а в по-умолчанию в App\Http\Controllers? Заранее спасибо!


Ответы (1 шт):

Автор решения: Petr Sklyarov

Вот так написал. В Modules\Orders\Routes\route.php

Route::group(['namespace' => 'App\Modules\Orders\Controllers'], function () {
    ....
    Route::post('/orders/store/{id}','OrdersController@store')->name('orders.store');
    ...
});

А в форме, соответственно:

{!! Form::open([
    'route' => ['orders.store'],
    'class' => 'form-horizontal'
]) !!}
→ Ссылка