gpt4 book ai didi

javascript - Laravel 无法正常工作

转载 作者:可可西里 更新时间:2023-11-01 06:52:03 25 4
gpt4 key购买 nike

我想将查询构建器与 LIKE 运算符一起使用,但它无法正常工作。

这是我 Controller 中的代码:

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>

但它不能完全正常工作...一般来说,它会找到结果,但我会给你一个搜索查询的例子。一种可能的查询是“montagnarde”。我会给你每个字母的结果。打字:

m --> lot of results
mo --> lot of results
mon --> lot of results
mont --> lot of results
monta --> lot of results
montag --> lot of results
montagn --> lot of results
montagna --> no result
montagnar --> finds only "J.S. MONTAGNARDE"
montagnard --> finds only "J.S. MONTAGNARDE"
montagnarde --> finds only "J.S. MONTAGNARDE" and "LA MONTAGNARDE"
montagnarde i --> finds only "U.S. MONTAGNARDE INZINZAC"

有人知道问题出在哪里吗?提前致谢!

最佳答案

我认为你的字符串连接是错误的。

尝试将where语句改为

where('clubs.name', 'LIKE', '%' . $query. '%')

关于javascript - Laravel 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42866266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com