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)
答案 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'));
}