尝试按标签类别获取标签,但由于无法弄清楚将id与值一起传递而感到挣扎。
标签是动态创建的,并按类别进行组织。添加帖子时,用户可以根据类别(例如,语言{php,js,sass})和(颜色{黑色,绿色,黄色})添加不同的标签。
当前同时选择了“语言”和“颜色”标记,要停止此操作,我需要传递ID,以便可以将其添加到查询中。
我对此很陌生,也非常感谢社区的任何帮助。
谢谢
HTML代码
@foreach($tagsCategory->groupedCategories() as $category)
<div class="row py-2 text-dark border-bottom border-light">
<div class="col-12 bold pt-2 mb-2">{{$category->name}}</div>
<div class="col-12">
<input type="hidden" class="js-tag-value" value="{{$category->id}}">
<input type="text" id="{{$category->id}}" name="name[]" class="js-tags form-control py-3" value="" placeholder="Saves as a tag">
</div>
</div>
@endforeach
JQUERY
$('.js-tags').tokenfield({
autocomplete: {
source: function (request, response) {
$.get("/get-tags", {
query: request.term
//id : $('.js-tags').attr('id')
},
function (data) {
data = $.parseJSON(data);
response(data);
});
},
delay: 100
},
showAutocompleteOnFocus: true
});
PHP
public function getTags(Request $request)
{
$tag = $_GET['query'];
//$id = $_GET['id'];
//dd($id);
$tags = DB::table('tags')
->join('tag_categories', 'tag_categories.id', '=', 'tags.tag_category_id' )
->where('tags.name', 'like', '%'.$tag.'%')
->select('tags.name')
->get();
$json = [];
foreach($tags as $tag){
$json[] = $tag->name;
}
echo json_encode($json);
}