如何laravel视图里访问其他控制器的路由

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何laravel视图里访问其他控制器的路由相关的知识,希望对你有一定的参考价值。

参考技术A laravel 设置路由找控制器 1、网线—路由器—电脑间线路连接启电脑路由器设备; 2、启设备打浏览器址栏输入19216811进入线路由器设置界面(进请翻看路由器底部铭牌或者路由器使用说明laravel通控制器@找路由别名

如何使用 Laravel 中的路由将循环下拉值从视图传递到控制器?

【中文标题】如何使用 Laravel 中的路由将循环下拉值从视图传递到控制器?【英文标题】:How to pass a looped dropdown value from view to controller using route in Laravel? 【发布时间】:2019-02-14 03:18:15 【问题描述】:

我有这个下拉列表,其中包含循环项目。我想要的只是当我在下拉列表中更改所选项目的值时,它会使用路由将值发送到控制器。

这是在我的视图中的下拉列表中循环项目的代码resolution_time_of_calls.blade.php

<div class="dropdown">    
        <form action="" method="POST">
              <select name="year">
                    <option class="dropdown-item" selected name="years" disabled>--Select Year-- </option>  
                 <?php 
                    $start = "2017";
                    $end = (int)date("Y");                
                       for($i=$start; $i<=$end; $i++)                  
                             echo '<option class="dropdown-item" value='.$i.'>'.$i.'</option>';
                          
                       ?>                          
              </select> 
        </form> 
   </div>

这是我的下拉菜单截图:

我想要的是,当我更改 dropdown 上的年份时,图表下方的年份将更改其年份。

我还没有路线,因为我不知道要写什么代码。

这是我应该传递下拉值的控制器。路由发送的值应该传递给这个函数,我不知道怎么做,因为我是 Laravel 的新手。提前感谢您的帮助!

public function resolution_time_of_calls()         

        //declarations            
        $arr_val = array();
        $arr_val1 = array();
        $arr_val2 = array();
        $arr_monthname = array();
        $arr_monthInt = array();                   

        //SELECTING MONTHS  
        $quer = DB::select("SELECT MONTH(DATE_ADD(T.Created, INTERVAL 8 HOUR)) AS MonthInt
            ,monthname(DATE_ADD(T.Created, INTERVAL 8 HOUR)) AS Month
            ,year(DATE_ADD(T.Created, INTERVAL 8 HOUR)) AS Year               
            FROM rtdb.Tickets T
            LEFT JOIN rtdb.ObjectCustomFieldValues O ON O.ObjectId=T.EffectiveId 
            AND O.CustomField=15 AND O.ObjectType='RT::Ticket' AND O.Disabled=0
            WHERE T.Status!='Deleted' AND T.IsMerged IS NULL AND T.Type='ticket'
            AND year(DATE_ADD(T.Created, INTERVAL 8 HOUR))=2018 
            GROUP BY Month,MonthInt,Year Order by MonthInt asc
            ");   
        $chart = new SampleChart;                            
        $chart->title('Resolution Time of Calls');                 
        foreach($quer as $query)
            array_push($arr_monthname, $query->Month.", ".$query->Year);  
            array_push($arr_monthInt, $query->MonthInt);   
                             
        $chart->labels($arr_monthname); 

        ///////////////////// TOTAL, AVERAGE,MAXIMUM Query  ////////////////////
        foreach($arr_monthInt as $month)
            $sql = DB::select("SELECT MONTH(DATE_ADD(T.Created, INTERVAL 8 HOUR)) AS MonthInt

                ,AVG(TIMESTAMPDIFF(HOUR,T.Created,O.Created)) AS AVG   
                ,MAX(TIMESTAMPDIFF(HOUR,T.Created,O.Created)) AS MAX               
                FROM rtdb.Tickets T
                LEFT JOIN rtdb.ObjectCustomFieldValues O ON O.ObjectId=T.EffectiveId 
                AND O.CustomField=15 AND O.ObjectType='RT::Ticket' AND O.Disabled=0
                WHERE T.Status!='Deleted' AND T.IsMerged IS NULL AND T.Type='ticket'
                AND year(DATE_ADD(T.Created, INTERVAL 8 HOUR))=2018 
                GROUP BY MonthInt Order by MonthInt asc");
        
        foreach($sql as $value)

            array_push($arr_val1, $value->AVG );
            array_push($arr_val2, $value->MAX );
        

        $chart->dataset('Average Hours', 'bar', $arr_val1)->backgroundcolor('green');   
        $chart->dataset('Maximum Hours', 'bar', $arr_val2)->backgroundcolor('blue');   
        $chart->height(600);


    return view('resolution_time_of_calls',['chart'=>$chart]);
  

【问题讨论】:

【参考方案1】:

您可以使用 Javascript onchange 事件来获取选定年份的值并将其作为路由参数传递给控制器​​。

【讨论】:

以上是关于如何laravel视图里访问其他控制器的路由的主要内容,如果未能解决你的问题,请参考以下文章

Laravel教程 二:路由,视图,控制器工作流程

[2018-01-12] laravel--路由(路由与控制器)

如何有效地将子域名传递给 Laravel 中的控制器和视图

Laravel 列出视图中的路由

Laravel:在路由与控制器上调用视图

laravel的控制器如何判断是post提交还是get提交?