Ошибка действия Laravel не определена, но действие определено в контроллере - PullRequest
0 голосов
/ 10 декабря 2018

Я получаю ошибку, что действие не определено в моем контроллере, но оно есть.Я могу получить доступ к действию index, но не к действию processOrder.

Ниже приведен мой контроллер и мой файл маршрутов.

namespace App\Http\Controllers\ThirdPartyAPI;

use App\Order;
use App\ThirdPartyAPI;
use GuzzleHttp\Client;
use App\Jobs\ThirdParyOrders;
use App\ThirdParty\ThirdPartyAPI;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class OrdersController extends Controller
{
    public function index ()
    {
        // list orders
    }

    public function processOrder()
    {
        // some logic here
    }
 }

Если мой я вызываю действие "@index" в моих маршрутахФайл /web.php, он работает и возвращает URL, но если я изменю «@index» на «@processOrder», он выдаст ошибку.

Т.е.это работает:

Route::get('thirdparty/process-order', function() {
    return action('ThirdPartyApi\OrdersController@index');
});

Но это не так:

Route::get('thirdparty/process-order', function() {
    return action('ThirdPartyApi\OrdersController@processOrder');
});

Я не уверен, где мне не хватает сюжета.

Я пыталсявыйти, а затем снова запустить:

php artisan serve

Я также пытался

composer dump-autoload

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Я думаю, вы должны попробовать это как маршрут.

Route::any("thirdparty/process-order", "ThirdPartyApi\OrdersController@processOrder");

0 голосов
/ 28 января 2019

До сих пор не уверен, в чем проблема изначально, но мне удалось заставить ее работать другим методом.Вместо того чтобы использовать замыкание, я делаю это так:

Route::get('thirdparty/{thirdparty_client}/process-order/{order}', 'ThirdPartyApi\OrdersController@processOrder');

Это, кажется, делает свое дело.Я не знал, что таким образом могу передать несколько параметров в контроллер, но это работает на 100%.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...