Как передать переменную Dynami c из URL-адреса в Laravel - PullRequest
1 голос
/ 12 июля 2020

Мне нужно получить данные из базы данных и просмотреть их. Это моя сеть. php

Route::get('/businesscard/{name}',  function ($name) {
    
    
//$username= App\users::where('username', $name);


$username=DB::table('users')->select('*')
                     ->where('username', '=', $name)
                    // ->groupBy('status')
                     ->get();
   
    return view('auth.pro')->with(['username' => $username]);
   
   
   
     return array(
       'name' => $name
       );
       
       
       
});

Если пользователь вводит domain.com/businesscard/username, мне нужно получить данные для имени пользователя и отобразить их на виду. Это работает, но мне нужно чтобы удалить визитку. Пользователю необходимо ввести domain.com/username. Я пробовал приведенный ниже код.

Route::get('/{name}',  function ($name) {
    
    
//$username= App\users::where('username', $name);


$username=DB::table('users')->select('*')
                     ->where('username', '=', $name)
                    // ->groupBy('status')
                     ->get();
   
    return view('auth.pro')->with(['username' => $username]);
   
   
   
     return array(
       'name' => $name
       );
       
       
       
});

Если есть данные, он работает. Но другие страницы не работают, как вход и регистрация. Пользователи вводят свое имя пользователя при регистрации.

Ответы [ 2 ]

1 голос
/ 12 июля 2020

Порядок вашего маршрута имеет значение. См. порядок объявлений маршрутов в laravel пакете

Таким образом, / {name} должен быть зарегистрирован как последний маршрут, чтобы избежать совпадений для других маршрутов.

0 голосов
/ 12 июля 2020

/{name} означает / с любым значением. Если вы попробуете /login или /register. Тогда ваш лог c перепутается с этим, так что другие страницы не будут работать. Лучший способ разработки, как вы ожидаете, как первый.

Еще одна вещь в вашем коде: два return второй ничего не делает. После первого он возвращается к просмотру, поэтому второй не используется. удалите и это return.

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