简体   繁体   English

laravel将参数从url传递到路由和控制器

[英]laravel passing parameter from url to route and to controller

After button click from JavaScript I redirecting page with 从JavaScript单击按钮后,我使用

 window.location.href = '//dziennik_zdarzen?id_seo=5';

Next i want pass it to the controller from my route this part is not working 接下来我想将其从我的路线传递给控制器​​,这部分不起作用

Route::get('dziennik_zdarzen', ['uses'=>'Dziennik_zdarzenController@get_datatable']);

I attempted a lot of things like trying to get it in my controller from url but it didn't work. 我尝试了很多尝试,例如尝试从url中将其获取到我的控制器中,但没有成功。 so im trying to pass it to Dziennik_zdarzenController@get_datatable. 所以我试图将其传递给Dziennik_zdarzenController @ get_datatable。 I changed my url to something like '//dziennik_zdarzen/5' in windows.location.href and next I tried to pass it in route. 我在windows.location.href中将网址更改为类似“ // dziennik_zdarzen / 5”的网址,然后我尝试在路由中传递它。 Like that: 像那样:

Route::get('dziennik_zdarzen/{id_seo}', ['uses'=>'Dziennik_zdarzenController@get_datatable']); 

still not working 还是行不通

Here is my controller 这是我的控制器

<?php
namespace App\Http\Controllers;

use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use Yajra\Datatables\Datatables;
use App\Dziennik_zdarzen;

class Dziennik_zdarzenController extends Controller
{
  public function get_datatable($id_seo)
  {

  return $id_seo;

  }
}
?>

If you can guide me what im doing wrong i will be thankful 如果您能指导我我做错了什么,我将感激不尽

You send id_seo as query parametr. 您发送id_seo作为查询参数。 You can access it with Request object in controller 您可以使用控制器中的Request对象访问它

<?php
namespace App\Http\Controllers;

use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use Yajra\Datatables\Datatables;
use App\Dziennik_zdarzen;

class Dziennik_zdarzenController extends Controller
{
  public function get_datatable(Request $request)
  {

      return $request->id_seo;

  }
}
?>

If you want send it as route parametr 如果要发送为路线参数

window.location.href = '//dziennik_zdarzen/5';

In controller: 在控制器中:

$idSeo = request('id_seo');

Route: 路线:

Route::get('dziennik_zdarzen', 'Dziennik_zdarzenController@get_datatable');

No need for a use statement, dependency injection or a route parameter. 无需use语句,依赖项注入或route参数。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM