如何在laravel和ajax中使用select 2进行搜索?
我正在尝试将从DB中提取的选定值加载到Select2中。Id值保存在JSON字段中,该字段包含Id值或我管理为“All”的字段“*” 我想在用户表中搜索如何在laravel和ajax中使用select 2进行搜索?,ajax,laravel,Ajax,Laravel,我正在尝试将从DB中提取的选定值加载到Select2中。Id值保存在JSON字段中,该字段包含Id值或我管理为“All”的字段“*” 我想在用户表中搜索名字和姓氏 AJAX <script> $(document).ready(function() { $('#plaintiffId').select2({ ajax: { url: '{{ route('admin::reports.plaintiffI
名字
和姓氏
AJAX
<script>
$(document).ready(function() {
$('#plaintiffId').select2({
ajax: {
url: '{{ route('admin::reports.plaintiffId') }}',
dataType: 'json',
delay: 250,
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
first_name: item.user.first_name,
last_name: item.user.last_name,
}
})
};
},
cache: true
}
});
</script>
控制器
public function plaintiffId(Request $request, $term)
{
$data = [];
if($request->has('q')){
$search = $request->q;
$data = $search->when($term, function ($query) use ($term){
return $query->whereHas('plaintiff', function ($query) use ($term) {
$query->where('first_name', 'like', "%{$term}%");
$query->orWhere('last_name', 'like', "%{$term}%");
});
});
}
return response()->json($data);
}
型号
public function scopeSearch($query, $term)
{
return $query->when($term, function ($query) use ($term){
return $query->whereHas('plaintiff', function ($query) use ($term) {
$query->where('first_name', 'like', "%{$term}%");
$query->orWhere('last_name', 'like', "%{$term}%");
});
});
}
public function plaintiff()
{
return $this->belongsTo(User::class, 'plaintiffId');
}
我在网络中遇到这个错误
您的控制器中有$term参数,但您没有向控制器发送任何参数,您应该通过ajax向控制器发送term参数您可以将完整的代码发送到此帖子吗?当我双击网络选项卡中的500时。当字符串上有()时,我看到了调用成员函数的错误
public function scopeSearch($query, $term)
{
return $query->when($term, function ($query) use ($term){
return $query->whereHas('plaintiff', function ($query) use ($term) {
$query->where('first_name', 'like', "%{$term}%");
$query->orWhere('last_name', 'like', "%{$term}%");
});
});
}
public function plaintiff()
{
return $this->belongsTo(User::class, 'plaintiffId');
}