Laravel - MethodNotAllowedHttpException в строке RouteCollection.php 251

Попробуйте выполнить запрос ниже. Это приведет к появлению нескольких записей для одного и того же имени «Джон» и «Боб», поскольку у вас есть несколько внутренних и внешних ролей для того же ИД (Id 3). Если это не то, что вы хотите, сообщите мне, какой из них вы хотите отобразить.

CREATE TABLE #Personnel
    (
        Name VARCHAR(100) ,
        InternalRoleID INT ,
        ExternalRoleID INT
    );

CREATE TABLE #InternalRoles
    (
        ID INT ,
        Name VARCHAR(100)
    );

CREATE TABLE #ExternalRoles
    (
        ID INT ,
        NAme VARCHAR(100)
    );

INSERT INTO #Personnel
VALUES ( 'John', 3, NULL ) ,
       ( 'Bob', NULL, 3 ) ,
       ( 'Rick', 5, NULL ) ,
       ( 'Anna', 6, NULL );


INSERT INTO #InternalRoles ( ID ,
                             Name )
VALUES ( 3, 'Accountant' ) ,
       ( 3, 'Manager' ) ,
       ( 5, 'Supervisor' ) ,
       ( 6, 'Worker' );



INSERT INTO #ExternalRoles ( ID ,
                             NAme )
VALUES ( 3, 'Delivery Driver' ) ,
       ( 3, 'Cleaner' ) ,
       ( 5, 'Electrician' ) ,
       ( 6, 'Auditor' );


SELECT P.Name ,
       COALESCE(IR.Name, ER.NAme) AS RoleName
FROM   #Personnel P
       LEFT JOIN #InternalRoles IR ON P.InternalRoleID = IR.ID
       LEFT JOIN #ExternalRoles ER ON P.ExternalRoleID = ER.ID;

DROP TABLE #ExternalRoles;
DROP TABLE #Personnel;
DROP TABLE #InternalRoles;
0
задан M. Özdemir 19 January 2019 в 11:57
поделиться

2 ответа

Для всех, кто задается вопросом: проблема в том, что он использовал GET в своем коде в какой-то момент, но он исправил это сейчас, и он работает. Пожалуйста, смотрите комментарии к его вопросу для получения дополнительной информации. Некоторые общие замечания после того, как я увидел вопросы и предложенные ответы:

  1. Общую информацию о маршрутах Laravel можно получить из документов: https://laravel.com/docs/5.7/ маршрутизация (убедитесь, что вы используете одну версию, соответствующую вашей версии laravel)
  2. API-маршруты, определенные в api.php, всегда автоматически добавляют api /, поэтому нет необходимости специально вводить их в файлах маршрутов [ 115]
  3. Ведущие / в маршрутах не нужны Route::get("api/test", function(){}); можно получить по /api/test.
  4. Однако попытка доступа к нему с помощью /api/test/ приводит к исключению MethodNotAllowedException, поскольку Laravel предполагает, что после / что-то следует в качестве параметра get. Так что будьте осторожны:)
0
ответ дан François Lanzeray 19 January 2019 в 11:57
поделиться

Это было о старой версии jQuery. Я изменил версию jQuery и проблема была решена. Спасибо за помощь.

0
ответ дан M. Özdemir 19 January 2019 в 11:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: