Php 用于搜索的Laravel路由和控制器
在学习了一些教程之后,我正在构建我的第一个基本laravel web应用程序,这是我自己修补的第一个。我在路由到控制器然后获取正确的url时遇到了一些问题 理想情况下,此时我应该只有两条路由Php 用于搜索的Laravel路由和控制器,php,laravel,Php,Laravel,在学习了一些教程之后,我正在构建我的第一个基本laravel web应用程序,这是我自己修补的第一个。我在路由到控制器然后获取正确的url时遇到了一些问题 理想情况下,此时我应该只有两条路由/和/{user}。在主页上,您可以通过表单搜索该用户,该表单应将您带到/{user} 路线(我有三个原因,我仍在努力让它发挥作用,我想我需要一个帖子): 家庭控制器: public function index() { return View::make('helpdesk'); } public
/
和/{user}
。在主页上,您可以通过表单搜索该用户,该表单应将您带到/{user}
路线(我有三个原因,我仍在努力让它发挥作用,我想我需要一个帖子):
家庭控制器:
public function index()
{
return View::make('helpdesk');
}
public function student($user) {
return View::make('selfservice')
->with('user', $user);
}
public function studentLookUp() {
$user = Input::get('ID');
return View::make('selfservice')
->with('user', $user);
}
表格:
{{Form::open(数组('class'=>'navbar-Form-navbar-left','role'=>'search'),数组('action'=>'HomeController@student')) }}
{{Form::text('ID','',数组('placeholder'=>'ID','class'=>'Form-control'));}
{{Form::button('Search',array('class'=>'btn-btn-default'))}
{{Form::close()}}
此时,我可以从主页(“/”)进行搜索,它将带我返回主页,但使用搜索到的用户,这是我希望它的工作方式,但它没有正确的urlhomepage.com/username
任何帮助都将不胜感激 首先注册一条路由以侦听您的搜索请求: 1。搜索路线: 注册搜索路径
//route search
Route::get('/search',['uses' => 'SearchController@getSearch','as' => 'search']);
2。搜索视图:-
现在在视图中创建搜索表单:-
<form action="/search" method="get">
<input type="text" name="q" placeholder="Search.."/>
<button type="submit">Search</button>
</form>
5。为学生更新路线
Route::get('/{student}',['uses' => 'HomeController@student','as' => 'student.show']);
更新更新答案以直接获取学生页面
要从搜索重定向到
website.domain\{user}
,请执行以下步骤:-
1。修改SearchController
<?php
class SearchController extends \BaseController {
public function getSearch()
{
//get keywords input for search
$keyword= Input::get('q');
//search that student in Database
$student= Student::find($keyword);
//redirect directly to student.show route with student detail
return Redirect::route('student.show', array('student' => $student));
}
}
public function student($student)
{
//here display student detail
}
你的意思是
Route::get('/{user}','HomeController@student');代码>无效?谢谢,这肯定很有帮助。此时,我可以搜索一个用户,他们会出现,但url是homepage.com/search
。从getSearch控制器获取查询后,是否有方法重定向到homepage.com/username
?当显示搜索结果时,该时间的URL将是website.domain/search?q=关键字
,但在此搜索结果视图中,您将显示所有用户,这些用户的URL将是website.domain/{user}
首先了解流程主页=>搜索=>搜索结果=>用户页面
。在搜索和用户视图之间将有一个中间视图搜索结果。单击搜索结果视图中可用的链接后,页面将重定向到website.domain/{user}
,这就是我的想法。是否要自动路由而无需单击搜索结果页面上的链接?非常感谢您的帮助。就这样,我在拉威尔学到了一些我不知道的新技巧!
@foreach ($students as $key=> $student)
<div>
<a href="{{ URL::route('student.show', ['id' => $student->id]) }}">{{$student->name}}</a>
</div>
@endforeach
website.domain/{student}
Route::get('/{student}',['uses' => 'HomeController@student','as' => 'student.show']);
<?php
class SearchController extends \BaseController {
public function getSearch()
{
//get keywords input for search
$keyword= Input::get('q');
//search that student in Database
$student= Student::find($keyword);
//redirect directly to student.show route with student detail
return Redirect::route('student.show', array('student' => $student));
}
}
public function student($student)
{
//here display student detail
}