【问题标题】:Paging with optional parameters LARAVEL 4带有可选参数的分页 LARAVEL 4
【发布时间】:2014-08-27 22:49:13
【问题描述】:

我正在列出记录和分页都很好,但是当我传递可选参数时,例如:

/panelapp/usuarios?nivel=admin&page=2

我只承认变量 page 忽略了另一个,并且过滤器可能会这样做吗?我把代码留在这里:

路线:

Route::get('/panelapp/usuarios', array(
'as'    =>  'panel-lista-usuarios',
'uses'  =>  'CuentaController@getLista'
));

昆塔控制器:

public function getLista(){
    $lista = Usuario::paginate(10);
    return View::make('panelapp.cuentas.lista')->with('usuarios',$lista);  
}

查看:

@foreach($usuarios->getCollection()->all() as $item)
{{ mostrando items... }}
@endforeach
{{ $usuarios->appends(Request::except('page'))->links() }}

【问题讨论】:

  • 你需要用英文发布。
  • 抱歉,我编辑了我的问题
  • 从您的代码中我看到您没有使用nivel 参数,为什么您认为它被忽略了?
  • $lista = Usuario::where('nivel', Input::get('nivel'))->paginate(10); 这将帮助我使过滤器是静态的,但我需要的是 level 参数是可选的,并且分页是根据接收到的 url 参数实现的:例如:案例: 1 /panelapp/users?level=admin&page=2 案例 2 /panelapp/users?level=admin&status=1&page = 2 案例 3 /panelapp/users?level=admin&status=1&order=desc&page=2 案例:n ..

标签: parameters laravel-4 pagination


【解决方案1】:

我在这里盲拍,但我认为您需要的是:

public function getLista()
{
    $nivel = Input::get('nivel', default_level);
    $status = Input::get('status', default_status);
    $order = Input::get('order', default_order);
    // ... you get the idea

    $lista = Usuario::where('nivel', $nivel)
                    ->where('status', $status)
                    ->where('order', $order)
                    ->paginate(10);

    return View::make('panelapp.cuentas.lista')->with('usuarios',$lista);  
}

default_leveldefault_statusdefault_order 是您的默认值。

【讨论】:

  • 好的,思路我明白了,但是我不想默认放一个paramatro值,我需要的是我识别参数是否不存在,根据查询执行,最初的网址如下:/panelapp/usuarios
  • 然后将默认设置为null并检查if ($nivel)。对其他人执行相同操作,并根据您的ifs 运行您的查询。
  • 好的,代码完美运行,谢谢大家的支持,他们在这里很棒
猜你喜欢
  • 2014-06-08
  • 1970-01-01
  • 2013-08-10
  • 2014-10-13
  • 2018-10-16
  • 2022-01-06
  • 2018-04-06
  • 1970-01-01
相关资源
最近更新 更多