如何从数据库表中搜索值并将结果显示到laravel中的网站

时间:2015-02-10 06:55:01

标签: laravel-4

Iam尝试从数据库表中搜索值并使用laravel将结果显示到网站。 blade.php代码是

<form role="form" method="post" action="{{URL::Route('postSearch')}}">
<div class="form-group {{($errors->has('pname'))?'has-error':''}}">
<label for="pname">Name :</label><input id="pname" name="pname" type="text" class="form-control"></div>
<div class="form-group"><input type="submit" name="submit" value="submit" class="btn btn-default"></div>
</form>

我的controller.php在这里else { // $parents=Input::get('pname'); $parents=new ForumParent(); $parents->pname=Input::get('pname'); var_dump(Input::get('pname')); if($parents) { return Redirect::route('view',$parents->pname); } else { return Redirect::route('getSearch') ->with('fail','value not found,please try again'); } } 这是我的代码。我希望当我们输入文本框的名称时,是否在数据库表中,或者不是。如果是,则从表中显示详细信息(仅显示地址)否则404错误。如何检查。?

如何解决ErrorException(E_UNKNOWN)为foreach()提供的参数无效(查看:C:\ xampp \ htdocs \ laravel \ public \ view.blade.php)

1 个答案:

答案 0 :(得分:0)

你有ForumParent模型。所以首先用pname搜索,如果得到结果返回地址,否则返回404。 在你的postSearch中,对于其他部分

将会是这样的
else{
   try {
        $pname = Input::get('pname');
        $parents = ForumParent::where('pname', $pname)->first();           

        if(empty($parents))
        {
            throw new  \Exception("Parent not found");              
        }           
        return Redirect::route('view',$parents->address);       

    } catch (Exception $e) {            
        abort(404);
    }
 }

视图操作将是这样的。想象一下parent_view.blade.php来显示父母的地址。

public function view($address)
{
    return View::make('parent_view', compact('address'));
}