在什么基础上我们在laravel路由文件中提供url和名称

时间:2018-09-05 13:28:52

标签: php laravel

您可能会发现我很愚蠢,但我无法理解我们在路由文件中提供url和名称的基本知识

示例:

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

任何人都可以告诉我。 以及如果我们以url作为查看文件夹中文件位置的基础,例如(order-> getorder刀片文件)

然后,如果我的路径是layouts.site.topbar

,该怎么办?

在视图而不是页面中,我的文件位于布局中。

编辑:

刀片文件

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

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

                    @endif
            </a>

控制器文件

TopbarController类扩展了Controller {

      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');

现在发生了什么问题,即使我死了也什么也没给,但它没有进入控制器文件。

4 个答案:

答案 0 :(得分:1)

我认为这是个人喜好,而不是有规则。

我使用的约定是byte[]

这样,我可以创建类似的路线

name(<model>.<action>)

答案 1 :(得分:0)

您只需根据需要命名路线。没有严格的规则来命名路由。您可以将name('order.getOrders')更改为name(“ anyName”),并在模板中使用新名称。

答案 2 :(得分:0)

关于闲逛的Laravel documentaton说:

  

使用命名路由可以方便地生成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') }}引用您为其提供的名称。

答案 3 :(得分:0)

您可以为自己的路线命名。如果需要,可以将上述路线称为“ 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>