如何解决尝试使用 Eloquent 和 Slim3 框架创建搜索系统还有阿贾克斯
我在 MVC 中,开始使用 slim 3 框架构建 Web 应用程序,但一直停留在搜索系统中。 我几乎创建了搜索系统,但它只显示了 1 个结果,就像我有 2 个具有相同名称的用户一样。 1 位是 John Doe,第二位是 John Carter。当我写 john 时,它只显示 1 个用户,而不是两个。
路线:
$app->post('/search/users','SearchController:searchusers' )->setName('search.query.users');
控制器:
use App\Models\User;
use App\Models\Profile;
use App\Models\Workplace;
use App\Controllers\Controller;
use Respect\Validation\Validator as v;
use Slim\Views\Twig as View;
class SearchController extends Controller{
public function searchusers($request,$response,$args){
$queryinput = $request->getParam('query');
$search = User::where('user_displayname','LIKE',"%{$queryinput}%")
->leftJoin('wp_profile','wp_users.id','=','wp_profile.profile_account_id');
$users = $search->get();
$count = $search->count();
if($count > 0){
foreach($users as $user){
$response = array(
'fullname' => $user->user_displayname,'username' => $user->user_login,'occupation' => $user->profile_occupation,'location' => $user->profile_country . ',' . $user->profile_city,'avatar' => $user->profile_avatar
);
}
return json_encode($response);
}
}
}
AJAX 查询:
(function($){
$('#query').keyup(function () {
var query = $(this).val().length;
if(query == 0){
$('.result').addClass('d-none');
}else{
$('.result').removeClass('d-none');
}
$.ajax({
url : basepath + '/search/users',type : 'POST',data : {
query : $(this).val()
},success : function (data){
console.log(data);
var response = JSON.parse(data);
var check = jQuery.isEmptyObject(data);
var output = '';
if(check){
output = 'No Result Found';
}
output = '<a href="'+basepath+'/u/'+response.username+'" class="search-media"><div class="search-mediabox media py-2 px-2 rounded-lg"> <div class="search-avatar mt-2"><img src="'+basepath+'/media/storage/img/'+response.avatar+'" alt="Generic placeholder image"></div> <div class="media-body pl-2"> <h5 class="m-0">'+response.fullname+'</h5> <p class="p-0 m-0">From <b>'+response.location+'</b> - <b>'+response.occupation+'</b></p> </div> </div></a>';
$('.result').html(output);
}
})
});
})(jQuery);
谁能告诉我为什么它只显示 1 条记录?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com(将#修改为@)