我有一个项目,用户可以从搜索栏搜索其他用户,但使用自动填充,我只能获得其他用户的用户名,而不是个人资料图片。我的users
表格中有一列avatar
,其中存储了每个用户的个人资料图片
控制器:
public function autocomplete1() {
$queries = User::where(function($query) {
$term = Input::get('term');
$query->where('username', 'like', '%'.$term.'%');
})->take(6)->get();
$results = array();
foreach($queries as $query) {
$results[] = ['query' => $query->avatar, 'avatar' => $query->username];
}
return response::json($results);
}
查看:
$(function() {
$('#text3').autocomplete({
source: "autocomplete1",
minlenght: 2,
autoFocus: true,
select: function(event, ui) {
$('#text3').val(ui.item.value);
}
});
$('#text3').data("ui-autocomplete")._renderItem = function(ui, item) {
var $li = $("<li style='width:800px; margin-left:10px; margin-bottom:5px'>"),
$img = $("<img style='width:8%'>");
$img.attr({
src: '{{URL::to('/')}}/images/' + item.avatar,
alt: item.value
});
$li.attr('data-value', item.value);
$li.append("");
$li.append($img).append("" + item.value);
return $li.appendTo(ul);
};
});
答案 0 :(得分:0)
在您的PHP代码中,您似乎只是从每个对象(username
)中提取$v->username
。尝试:
$results[]=['value'=>$v];
我认为这会将整个对象存储在数组中(希望与您想要的个人资料图片字段一起存储)。