На каких основах мы даем URL и имя в файле маршрута laravel - PullRequest
0 голосов
/ 05 сентября 2018

Вы можете посчитать меня глупым, но я не могу понять, по каким основам мы даем URL и имя в нашем файле маршрута

Пример:

 Route::get('/order/getOrders', 'OrderController@getOrders')- 
 >name('order.getOrders')->middleware('auth');

Может кто-нибудь, пожалуйста, скажите мне. и если мы возьмем URL на основе того, где наш файл в папке представления, как (order-> getorder blade-файл)

Тогда что, если мой путь будет layouts.site.topbar

В виде вместо страниц мой файл находится в макетах.

EDIT:

файл лезвия

          <a  href="{{ route('sync.index') }}">

                    @if(isset($syncs))
                      @foreach ($syncs as $sync)
                      @endforeach
                      {{ $sync->session_date }}

                    @endif
            </a>

файл контроллера

класс TopbarController расширяет контроллер {

      public function index()
{ die('o');
   $syncNames = Sync::select('session_date','session_time')->where('user_id',$user_id)->get();

    return view('layouts.site.topbar', array(
            'syncs' =>$syncNames
        ));

}

public function sync_finish_session() {
    die('s');
    $user_id = Auth::id();
   $sync_date = date('M d ',strtotime("now"));
   $sync_time = date('M d, Y H:i:s',strtotime("now"));

     $sync = Sync::where('user_id',$user_id)->get();
         if(count( $sync) > 0) {
                    Sync::where('user_id',$user_id)->update(['session_date'=>$sync_date,'session_time'=>$sync_time,'user_id'=>$user_id]);

                }
                else {

       $dates = new Sync();
       $dates->session_date = $sync_date;
       $dates->session_time = $sync_time;
       $dates->user_id = $user_id;
        $dates->save();
        }

        return $sync;

}

}

веб-файл

Route::post('/sync_finish_session', 'TopbarController@sync_finish_session')->name('sync_finish_session')->middleware('auth');

Route :: get ('/ sync / index', 'TopbarController @ index') -> name ('sync.index') -> middleware ('auth');

Теперь в чем проблема, что он ничего не дает, даже если я положил die, но это не происходит в файле контроллера.

Ответы [ 4 ]

0 голосов
/ 06 сентября 2018

Вы можете назвать свой маршрут (ы) как угодно. Если вы хотите, вы можете позвонить по указанному выше маршруту «mySuperCoolRouteName»:

Route::get('/order/getOrders', 'OrderController@getOrders')- 
 >name('mySuperCoolRouteName')->middleware('auth');

и позже в файле представления вы можете использовать это имя как «стенограмму» для получения / печати URL этого маршрута:

<a href="{{ route('mySuperCoolRouteName') }}">To My Cool Route</a>

будет обработано в

<a href="/order/getOrders">To My Cool Route</a>

0 голосов
/ 05 сентября 2018

Вы просто называете маршрут так, как хотите. Там нет строгих правил, как назвать маршрут. Вы можете изменить имя ('order.getOrders') на name ("anyName") и использовать новое имя в шаблонах.

0 голосов
/ 05 сентября 2018

Как документ Laravel о маршрутизации говорит:

Именованные маршруты обеспечивают удобную генерацию URL-адресов или перенаправлений для определенных маршрутов.

Таким образом, вы можете использовать это name для генерации URL или перенаправлений. Например:

Вы можете поместить это в файл web.php:

Route::get('/image/index', 'API\SettingsController@index')->name('image.index');

И назовите этот маршрут следующим образом:

<a href="{{ route('image.index') }}">Le met see that index!</a>

Где {{ route('image.index') }} ссылается на имя, которое вы ему дали.

0 голосов
/ 05 сентября 2018

Я думаю, что это больше личное предпочтение, чем наличие правил.

Соглашение, которое я использую: name(<model>.<action>)

Таким образом, я могу создавать маршруты типа

Route::get('/users/{id}/view', 'UserController@view')->name('users.specific.view')->middleware('auth');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...