顺便说一句,我在拉拉维尔工作。
在控制器中,我在尝试/捕获中有一些逻辑。 该逻辑用于按 ID 查找用户。 如果搜索了错误的 ID,我想捕获并刷新页面,并显示"该用户 ID 不存在"等错误消息。
我知道我可以使用三种方法是:back()
、Redirect::to('users')
和 redirect()->route('users')
。
首先,我应该使用哪个?
其次,我已经尝试了每种方法,但收到错误消息或不是我想要的行为。
每个错误消息
back()
我什么也没看到。 我重定向到同一页面就好了。但是我使用 back()->withInput(['error' => $error])
传递的数据不会显示在页面上。 我在模板中{{isset($error) ? $error : ''}}
等待设置$error变量。有没有不同的方法可以做到这一点?更好的方法?
redirect()->to('users')
这与back()类似,因为它可以很好地重定向我,但我似乎仍然无法将数据传递到页面。
redirect()->route('users')
这与back()类似,因为它可以很好地重定向我,但我似乎仍然无法将数据传递到页面。
我想这是一个简单的问题。 我只是 php 和 laravel 的新手,可以使用一点方向。
谢谢!
使用输入验证作为波纹管
'id' => 'exists:users,id'
然后你可以做
return redirect('users')->withError($validator)
在登录表单中,您可以通过以下方式显示未找到电子邮件的消息
$errors->first('id')
你可以
使用任何你想要的方法,我建议使用back()
。
要传递错误消息,我正在使用:
Session::flash('error', 'Wrong ID')
在Blade
模板中,我正在使用这个:
@if (Session::has('error'))
<div class="alert alert-warning" align="center">{{ Session::get('error') }}</div>
@endif
完美工作。
redirect()->route('users')->with('error', "I have a error");
Session::get('error')