Laravel -Parameter Redirect выбирает те же данные - PullRequest
0 голосов
/ 01 июля 2019

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

Источник

Контроллер

    public function revenueReport(Request $request)
{

$revenues = DB::table("vw_revenue_report")
->select(
    "vw_revenue_report.channel",
    DB::raw("SUM(CASE WHEN created_at = NOW() - INTERVAL 1 DAY THEN amount ELSE 0 END) daily_revenue"),    
    DB::raw("SUM(CASE WHEN created_at >= NOW() - INTERVAL 1 WEEK THEN amount ELSE 0 END) weekly_revenue"),
    DB::raw("SUM(CASE WHEN created_at >= NOW() - INTERVAL 1 MONTH THEN amount ELSE 0 END) monthly_revenue"),
    DB::raw("SUM(CASE WHEN created_at >= NOW() - INTERVAL 1 YEAR THEN amount ELSE 0 END) yearly_revenue"),
    DB::raw("SUM(vw_revenue_report.amount) total_revenue")
)
->groupBy("vw_revenue_report.channel")
->orderByRaw('vw_revenue_report.channel ASC')
    ->get();          

    return view('report.revenueReport');    
}  

Вид

        @foreach($revenues as $key => $revenue)
        <tr>
            <td>{{ ++$key }}</td>
            <td>{{ $revenue->channel }}</td>               
            <td>{{ $revenue->daily_revenue }}</td>
            <td>{{ $revenue->weekly_revenue }}</td>
            <td>{{ $revenue->monthly_revenue }}</td>
            <td>{{ $revenue->yearly_revenue }}</td>
            <td>{{ $revenue->total_revenue }}</td>
            <td><a class="btn btn-info" href="{{ route('revenueDetail',$revenue->channel) }}">Details</a></td>
        </tr>          
    @endforeach

Пункт назначения

public function revenueDetail(Request $request, $channel = null)
{

    $revenuedetails = DB::table('vw_revenue_report as g')
    ->select(
       DB::raw('DATE(g.created_at) as created_date'),
       'g.msisdn', 
       'g.channel', 
       'g.amount'              
  )
 ->whereRaw('g.channel', $channel ?? null)
 ->orderByRaw('g.created_at DESC') 

->get();
return view('report.revenueDetail');        
}

Параметр: $ channel

Проблема, с которой я столкнулся, заключается в том, что при нажатии кнопки «Подробности» в каждой строке он перенаправляет меня на один и тот же набор данных.

1 Ответ

0 голосов
/ 01 июля 2019

Пожалуйста, посмотрите на документацию Laravel для Views.

Пример кода:

return view('report.revenueReport', ['revenues' => $revenues]);

Чтобы использовать параметры маршрутов, посмотрите на this документация.

Пример кода:

Route::get('/report/revenue-detail/{channel}', ['as' => 'revenueDetail', 'uses' => 'ReportController@revenueDetail']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...