2016-10-10 40 views
-1

我有一個項目,用戶可以從搜索欄中搜索其他用戶,但使用自動完成功能,我只能獲取其他用戶的用戶名,不存在個人資料圖片。我的users表格有一列avatar,其中存儲了每個用戶的資料圖片。
控制器:jQuery-autocomplete在結果中添加圖像

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

Arg! - (( –

+0

已更新問題@AlFoиceѫ –

回答

0

在PHP代碼中,它看起來像你只從每個對象($v->username)拉出username。嘗試:

$results[]=['value'=>$v]; 

我認爲這將在數組中的整個對象存儲(希望與您所需的資料圖片場)。

+0

我認爲拉扯一切都不行,因爲我的表格包含大約10個cloumns –

+0

如果你真的不想要額外的數據字段(或者它們包含敏感信息),您可以像使用用戶名一樣來拉取個人資料圖片字段。$ v-> profile_pic(如果profile_pic是數據對象中的屬性名稱) – roger

+0

我試過了,但它給了我名字該圖像,而不是顯示圖像 –