LIKE演算子でクエリビルダを使用したいのですが、正しく動作しません。ここでLaravelどこがうまくいきませんか
は私のコントローラで私のコードです:ここでは
public function listall($query) {
$Clubs = Club::where('clubs.name', 'like', "%$query%")
->Join('leagues', 'clubs.league_id', '=', 'leagues.id')
->select('clubs.id', 'clubs.name', 'clubs.blason', 'leagues.name as league_name')
->orderBy('clubs.name')
->get();
return Response::json($Clubs);
}
は、私のJavascriptコードです:
<script type="text/javascript">
function hasard(min,max){
return min+Math.floor(Math.random()*(max-min+1));
}
jQuery(document).ready(function($) {
// Set the Options for "Bloodhound" suggestion engine
var engine = new Bloodhound({
remote: {
url: "{{ url('club/listall') }}"+'/%QUERY%',
wildcard: '%QUERY%'
},
datumTokenizer: Bloodhound.tokenizers.obj.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace
});
$(".club-search").typeahead({
hint: true,
highlight: true,
minLength: 1
}, {
source: engine.ttAdapter(),
display: "name",
// This will be appended to "tt-dataset-" to form the class name of the suggestion menu.
name: 'clubsList',
// the key from the array we want to display (name,id,email,etc...)
templates: {
empty: [
'<div class="list-group search-results-dropdown"><div class="list-group-item">Aucun club trouvé.</div></div>'
],
header: [
'<div class="list-group search-results-dropdown">'
],
suggestion: function (data) {
if (data.blason == null) {
var aleat = hasard(1,4);
if (aleat == 1) {
var blason = "/images/blasons/blason-bleu.svg";
} else if (aleat == 2) {
var blason = "/images/blasons/blason-orange.svg";
} else if (aleat == 3) {
var blason = "/images/blasons/blason-rouge.svg";
} else if (aleat == 4) {
var blason = "/images/blasons/blason-vert.svg";
}
}
else {
var blason = "/images/blasons/" + data.blason;
}
return '<a href="{{ url('club') }}' + '/' + data.id + '" class="list-group-item"><span class="row">' +
'<span class="avatar">' +
'<img src="{{asset('/')}}' + blason + '">' +
"</span>" +
'<span class="name">' + data.name + '<br><small style="color:grey;">(Ligue ' + data.league_name + ')</small></span>' +
"</span>"
}
}
});
});
</script>
しかし、その正常に完全に動作していない...一般的には、それは結果を見つけたが、私検索クエリの例を挙げましょう。 1つの可能なクエリは "montagnarde"です。すべての手紙の結果をお渡しします。入力:
問題がどこにありますか? ありがとうございます!
代わりに '使用する - 'で>取得()をクエリの終わりに ' - > toSql()'を使い、結果を出力するか 'dd()'します。これは実際に実行されているクエリを表示します - あなたが今やっているような便利なデバッグ。 – James
正常に動作しているようです。あなたが見たいと思っている結果は何ですか? –
結果は次のとおりです。 "clubs'.'id'、' clubs'.name'、 'clubs''blason'、' league''''''''''' clubs'' inner joinからの 'league_name'' 「リーグ」とは「クラブ」.league_id =リーグ.'id'は「クラブ」と呼ばれ、「名前」は「クラブ」による注文。「名前」は「asc」 –