通过href发送变量

时间:2015-06-26 18:29:58

标签: php mysql laravel model-view-controller

我正在尝试通过我的View上的href url传递变量,并根据这些变量进行Controller函数查询。这是获得更好主意的代码。

     @foreach ($totalCount as $id => $name) {{-- id is the admin id --}}
    <?php
      $admin_id = $id;
    ?>
    @foreach($name as $n => $status)  {{-- $n is the name, $status is array of the counts --}}
    <tr>
      <td>
        {{$n}}
        <br>
        <a href="#">Closed</a>
      </td>
          <td><a href="/ap1/{{$new_lead}}/applications?status=2&id={{{$admin_id}}}">{{ isset($status[2]) ? $status[2] : 0 }}</a></td>
          <td><a href="/ap1/{{$new_lead}}/applications?status=1&id={{{$admin_id}}}">{{ isset($status[1]) ? $status[1] : 0 }}</a></td>
          <td><a href="/ap1/{{$new_lead}}/applications?status=3&id={{{$admin_id}}}">{{ isset($status[3]) ? $status[3] : 0 }}</a></td>
          <td><a href="/ap1/{{$new_lead}}/applications?status=4&id={{{$admin_id}}}">{{ isset($status[4]) ? $status[4] : 0 }}</a></td>
          <td><a href="/ap1/{{$new_lead}}/applications?status=5&id={{{$admin_id}}}">{{ isset($status[5]) ? $status[5] : 0 }}</a></td>
          <td><a href="/ap1/{{$new_lead}}/applications?status=6&id={{{$admin_id}}}">{{ isset($status[6]) ? $status[6] : 0 }}</a></td>
    </tr>
  @endforeach
  @endforeach

正如您所看到的,我从我的数据结构中获取了$ id并将其输入到$ admin_id中,因此我可以使用它。我将该管理员ID并将其放入href url中,以便我的控制器可以使用它并正确查询。

以下是我的控制器的代码:

     public function index()
  {
    $query = AdvertiserApplication::with('admin');
    $status = Input::get('status');
    $id = Input::get('admin_id');
    dd($id);

    if(!empty($id)) {
      $query->where('assigned_to', '=', $id);
    }
    if (!empty($status) || $status === '0')
      $query->where('staus', '=', $status);



    $applications = $query->get();

    return View::make('admin.advertisers.application_list', ['applications' => $applications, 'admin_id' => AuthAdmin::admin(false)]);
  }

我在这里做的是查询整个表,如果$ id和$ status为空。 (顺便提一下状态来自应用程序列表View的下拉表。)我遇到的问题是$ id输入无效,它是NULL。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

Input::get('id');

而不是

Input::get('admin_id');

答案 1 :(得分:0)

您必须添加$ id作为索引函数的参数。

当通过href发送变量时,它不是GET / POST数组的元素。

所以你的功能会像这样:

public function index($id)
{
$query =      AdvertiserApplication::with('admin');
$status = Input::get('status');
// $id = Input::get('admin_id');
// dd($id);

if(!empty($id)) {
  $query->where('assigned_to', '=', $id);
}
if (!empty($status) || $status === '0')
  $query->where('staus', '=', $status);



$applications = $query->get();

return View::make('admin.advertisers.application_list', ['applications' => $applications, 'admin_id' => AuthAdmin::admin(false)]);

}