Laravel:按ID搜索并显示行数据(如果已找到)

时间:2017-10-02 20:00:26

标签: php mysql laravel eloquent

我已经有一个简单的搜索表格,我通过姓名,姓氏,社交号等过滤数据......但是,我需要一些不同的东西,我需要搜索字段,在那里搜索ID并显示其他信息(名称,姓氏,电话......)如果我找到它并点击提交。

这是我的搜索表单的外观:

{!! Form::open(['route'=>'search.id', 'method'=>'GET']) !!}
<div class="input-group">
  {!! Form::number('term', Request::get('term'), ['class'=>'form-control', 'placeholder'=>'ID']) !!}
  <span class="input-group-btn">
    {!! Form::button('<i class="fa fa-search"></i>', ['type' => 'submit', 'class'=>'btn btn-default']) !!}
  </span>
</div>
{!! Form::close() !!}

我的控制器到目前为止:

public function index(Request $request)
{
    $ids = DB::table('electoral_list')
        ->where('town_id', Auth::user()->town_id)
        ->where('id', intval($request->get('term')))
        ->first();

    if(is_null($ids))
    {
        return redirect()->back()->with('error', 'Your Message');
    }

    return view('search.index', compact('ids'));
}

在这里,如果找到id,我想显示一个名字:

<div class="col-sm-6">
  <div class="form-group">
    {!! Form::text('name', $ids->name, null, ['class'=>'form-control', 'placeholder'=>'Name']) !!}
  </div>
</div>

现在,我收到错误: (2/2)ErrorException 解析错误:语法错误,意外&#39;&lt;&#39;

1 个答案:

答案 0 :(得分:0)

我发现您的刀片出现语法错误,只需这样做:

{!! Form::text('name', $ids->name, null, ['class'=>'form-control', 'placeholder'=>'Name']) !!}

我认为这是你错误的原因:

  

ErrorException解析错误:语法错误,意外'&lt;'

现在您可以像这样更改代码:

public function index(Request $request)
{
    $ids = DB::table('electoral_list')
        ->where('town_id', Auth::user()->town_id)
        ->where('id', intval($request->get('term')))
        ->first();

    if(is_null($ids))
    {
        // Do somthing if no result e.g.
        Session::flash('no_id', 'ID does not exist!')
        return redirect()->back();
    }

    return view('search.index', compact('ids'));
}

如果列是唯一的,则不应使用like