NON Auth::User ID 的 Laravel 回显
Posted
技术标签:
【中文标题】NON Auth::User ID 的 Laravel 回显【英文标题】:Laravel echo for a NON Auth::User ID 【发布时间】:2019-06-27 15:22:35 【问题描述】:尝试解决以下问题:
我知道您可以通过 Auth::user()->email 在刀片中回显数据以获取电子邮件, Auth::user()-> name 获取名称,Auth::user()->id 获取用户 ID 等。这是针对当前登录用户的。
但我想要实现的是,如果我以基本的单字段形式在文本字段中输入“名称”,有什么方法可以让它动态显示与该“名称”相关的回声用户 ID,即使它不是 Auth::User 的 ID?
例如:用户 ID:1 'name' as ROGERHELLO 可以输入'name' POTATOHEAD 并让它回显它在页面上可见的相对 ID,可能是 ID:5?
我已经搜索过但似乎找不到明确的答案..希望这篇文章可以帮助其他人将来有类似的查询..
感谢您的帮助!
【问题讨论】:
这和认证有关系吗?看起来不像,所以我不知道你为什么会对 Auth::user() 如此感兴趣。为什么不直接使用 User 模型向用户查询匹配的名称? 您将不得不进行一个 ajax 调用,它将在您想要的任何地方填充一些文本。如果您知道我在说什么。例如,您键入名称 ROGER,如果该用户存在,它会回显该用户的 id 【参考方案1】:我了解您希望能够搜索用户。如果是这种情况,试试这个:
//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
) 上显示搜索结果。
【讨论】:
【参考方案2】:<?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);
【讨论】:
【参考方案3】:试试这个方法。它会很简单地出来
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;
【讨论】:
以上是关于NON Auth::User ID 的 Laravel 回显的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Auth::user()->id 在 livewire 表单上返回 null
拉拉维尔 | Auth::user()->id 在 AppServiceProvider 中不起作用
查看laravel auth / user对象中是否存在某些东西