Laravel - 路线不指向参数

时间:2016-05-05 21:59:15

标签: php laravel

路线

Route::get('restaurants/@{latitude},{longitude},{radius}', 'RestaurantsController@nearbyRestaurants');

我首先尝试自己的请求,然后直接在控制器中执行验证器

控制器的方法

 public function nearbyRestaurants(Request $request)
    {
        $validator = \Validator::make($request->all(), [
            'latitude' => 'digits_between:-90,90',
            'longitude' => 'digits_between:-180,180',
            'radius' => 'numeric'
        ]);

        dd($validator);
}

dd(valisator)的结果

#initialRules: array:3 [▼
    "latitude" => "digits_between:-90,90"
    "longitude" => "digits_between:-180,180"
    "radius" => "numeric"
  ]
  #rules: array:3 [▼
    "latitude" => array:1 [▼
      0 => "digits_between:-90,90"
    ]
    "longitude" => array:1 [▼
      0 => "digits_between:-180,180"
    ]
    "radius" => array:1 [▼
      0 => "numeric"
    ]
  ]

解决方案

而不是:

public function nearbyRestaurants(Request $request)
{

}

使用

public function nearbyRestaurants($latitude, $longitude, $radius)
{

}

使用dd($ validator);我现在可以看到数据:

#data: array:3 [▼
    0 => "59.93141200"
    1 => "30.31992300"
    2 => "15"
  ]

1 个答案:

答案 0 :(得分:0)

您从URL获取的是控制器的参数,而不是来自.model small .stack 100h .data array dw 1234H, 5678H, 9191H, 7A40H one_char db 'x' ;USED TO STORE ONE HEX VALUE. two_char db 'xx',13,10,'$' ;TWO HEX VALUES TO DISPLAY. .code mov ax, @data mov ds, ax mov si, offset array mov cx, 4 again: mov ax, [si] ; store the value in ax ;AX = AH AL. ;DISPLAY AH. push ax ;PRESERVE CURRENT HEX NUMBER. mov one_char, ah ;TWO HEX VALUES OF THE FIRST BYTE. call separate_two_digits ;SEPARATE THE TWO HEX. ;DISPLAY THE TWO DIGITS. mov dx, offset two_char mov ah, 9 int 21h ;DISPLAY AL. pop ax ;RESTORE AX. mov one_char, al ;TWO HEX VALUES OF THE SECOND BYTE. call separate_two_digits ;SEPARATE THE TWO HEX. ;DISPLAY THE TWO DIGITS. mov dx, offset two_char mov ah, 9 int 21h inc si ; increment the pointer inc si dec cx jnz again ;WAIT FOR KEYPRESS. mov ah, 0 int 16h mov ax, 4c00h int 21h ;-------------------------------------------------- ;ONE_CHAR CONTAINS TWO HEX VALUES: FIRST HEX IN THE ;4 UPPER BITS, THE SECOND HEX IN THE LOWER 4 BITS. separate_two_digits proc mov di, offset two_char ;4 UPPER BITS OF THE CHAR. mov al, one_char shr al, 4 call convert2char mov [ di ], al ;4 LOWER BITS OF THE CHAR. mov al, one_char and al, 00001111b call convert2char inc di mov [ di ], al ret separate_two_digits endp ;-------------------------------------------------- ;CONVERT FROM HEX TO ASCII CHARACTER. convert2char proc cmp al, 9 jbe digit ;IF AL <= 9 : IT'S A DIGIT. ;UPPERCASE LETTER. add al, 55 ;HEX LETTER TO ASCII. jmp finale digit: add al, 48 ;HEX DIGIT TO ASCII. finale: ret convert2char endp $_GET全局的参数,这是验证器需要的参数。你想要的是这个:

$_POST

然后,手动创建验证器并将其作为项目传递。