如何在table的页面上只显示"searched"条数据?
How to display just "searched" data on the page in table?
我制作了搜索表单并尝试通过搜索检索数据。但是在我开始搜索页面上已经检索到的数据之前。因为我已经那样制作了控制器。当我删除那个检索功能时,页面 运行 只是白屏。所以问题就在这里,我想看到 table 和搜索后的数据检索而不是之前的。却苦恼怎么做或者做错了
这是控制器:
public function welcome()
{
$estates = Estates::orderBy('price')->get();
$data['estates'] = $estates;
return view('welcome', $data);
}
public function search(Request $request)
{
$q = $request->q;
if (trim($q) !== ""){//here
$estates = \DB::table('estates')->where("name","LIKE", "%" . $q . "%")
->orWhere("address","LIKE", "%" . $q . "%")
->get();
dd($estates);
if(count($estates) > 0){
return view("welcome", compact('estates'))->withQuery($q);
}
}
$estates = array();//here
return view("welcome", compact('estates'))->withMessage("No Found!");//here
}
还有我的路线:
Route::get("/", "PagesController@welcome");
Route::post("/search", "PagesController@search")->name('search.route');
另外,当我尝试搜索时,页面不是 table,而是这样。
Collection {#221 ▼
#items: array:1 [▶]
}
如果需要看我的浏览页,我也可以加。
感谢您的帮助!
我解决了问题:
public function welcome()
{
$estates = array();//here
$data['estates'] = $estates;
return view('welcome', $data);
}
public function search(Request $request)
{
$q = $request->q;
if ($q !== null && trim($q) !== ""){//here
$estates = \DB::table('estates')
->where("name","LIKE", "%" . $q . "%")
->orWhere("address","LIKE", "%" . $q . "%")
->orWhere("company_name","LIKE", "%" . $q . "%")
->orderBy('price')->get();
if(count($estates) > 0){
return view("search", compact('estates'))->withQuery($q);
}
}
$estates = array();//here
return view("search", compact('estates'))->withMessage("No Found!");//here
}
我制作了搜索表单并尝试通过搜索检索数据。但是在我开始搜索页面上已经检索到的数据之前。因为我已经那样制作了控制器。当我删除那个检索功能时,页面 运行 只是白屏。所以问题就在这里,我想看到 table 和搜索后的数据检索而不是之前的。却苦恼怎么做或者做错了
这是控制器:
public function welcome()
{
$estates = Estates::orderBy('price')->get();
$data['estates'] = $estates;
return view('welcome', $data);
}
public function search(Request $request)
{
$q = $request->q;
if (trim($q) !== ""){//here
$estates = \DB::table('estates')->where("name","LIKE", "%" . $q . "%")
->orWhere("address","LIKE", "%" . $q . "%")
->get();
dd($estates);
if(count($estates) > 0){
return view("welcome", compact('estates'))->withQuery($q);
}
}
$estates = array();//here
return view("welcome", compact('estates'))->withMessage("No Found!");//here
}
还有我的路线:
Route::get("/", "PagesController@welcome");
Route::post("/search", "PagesController@search")->name('search.route');
另外,当我尝试搜索时,页面不是 table,而是这样。
Collection {#221 ▼
#items: array:1 [▶]
}
如果需要看我的浏览页,我也可以加。 感谢您的帮助!
我解决了问题:
public function welcome()
{
$estates = array();//here
$data['estates'] = $estates;
return view('welcome', $data);
}
public function search(Request $request)
{
$q = $request->q;
if ($q !== null && trim($q) !== ""){//here
$estates = \DB::table('estates')
->where("name","LIKE", "%" . $q . "%")
->orWhere("address","LIKE", "%" . $q . "%")
->orWhere("company_name","LIKE", "%" . $q . "%")
->orderBy('price')->get();
if(count($estates) > 0){
return view("search", compact('estates'))->withQuery($q);
}
}
$estates = array();//here
return view("search", compact('estates'))->withMessage("No Found!");//here
}