尝试解决以下问题:
我了解您可以通过 {{Auth :: user()->电子邮件}} 在刀片中回显数据,以获取电子邮件, {{Auth :: user()-> name}} 以获得名称, {{Auth :: user()-> id}} 以获得用户ID等。这是针对当前登录的用户。>
但是我要实现的是,如果我以一种基本的单字段形式在文本字段中键入“名称”,是否有任何方法可以使它动态地显示与该“名称”相关的回显用户ID,即使它不是Auth :: User的ID?
例如:用户ID: 1 ,其“名称”为 ROGERHELLO 可以键入“名称” POTATOHEAD 并使其回显页面上可见的相对ID,该ID可能是 5 ?
我已经搜索过,但似乎找不到明确的答案..希望这篇文章将来可以帮助其他人进行类似的查询。
谢谢您的帮助!
答案 0 :(得分:0)
我了解您希望能够搜索用户。如果是这种情况,请尝试以下操作:
//in Controller
public function search(Request $request)
{
$keyword = $request->get('search');
$data = [];
if (!empty($keyword)) {
//you can search for anything here
$data['users'] = User::where('name', 'LIKE', "%$keyword%")
->orWhere('email', 'LIKE', "%$keyword%")
->orWhere('occupation', 'LIKE', "%$keyword%")
->get();
} else {
//return a response to require an input
}
return view('users.search', $data);
}
您现在可以在返回的视图(users.search
)上显示搜索结果。
答案 1 :(得分:0)
<?php
// Make an ajax request when you submit the frontend input form
// Send a post parameter 'username'
public function searchByUsername(Request $request)
{
// Validate
$request->validate([ 'username' => 'required|string']);
// Search in username
$userIds = User::where('name', 'LIKE', '%' . $request->username. '%')
->select('id')
->get();
// Return json response for ajax
return response()->json(compact($userIds), 200);
}
答案 2 :(得分:0)
尝试这种方式。它会很简单地出现
public function search()
{
$search_phrase = Input::get('q');
$search_results = User::where('name', 'like', '%' . $search_phrase . '%')->paginate(6);
return view('search.users', compact('search_results', 'search_phrase'));
}
但是您需要使用输入外观:
use Illuminate\Support\Facades\Input;