从Laravel中的foreach循环合并数组 [英] Merge Array from foreach loop in laravel
本文介绍了从Laravel中的foreach循环合并数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
跟随我的代码.我试图通过单击复选框获取数组.我有阵列.但有两个不同.请检查我的控制器.我需要当我单击2个不同的复选框时,它将得到两个不同的数组.最终结果得到合并本身之后.我试过了,但到哪里我错了.请帮忙.
Following my code.. i am trying to get array by clicking checkbox. i got array. but in two different. please check my controller. i need when i click on 2 different checkbox it will get two different array. after final result get merge itself. i tried but get where i am wrong. please help.
复选框
<li class="lib">
<label><input class="genreTag" id="{{ $genreTag->id}}" data-slug="mood-emotion" type="checkbox" name="" value="{{{ $genreTag->name }}}">{{{ $genreTag->name }}} ({{count(json_decode($genreTag->elements, true))+ count(json_decode($genreTag->tracks, true))}}) </label>
</li>
<li class="lib">
<label><input class="genreTag" id="{{ $genreTag->id}}" data-slug = "music-genre" type="checkbox" name="" value="{{{ $genreTag->name }}}">{{{ $genreTag->name }}} ({{count(json_decode($genreTag->elements, true))+ count(json_decode($genreTag->tracks, true))}}) </label>
</li>
//Sidebar Filter Genre Tracks
$(document).ready(function () {
$('.genreTag').on('change', function (e)
{
displayLoader();
$('input.filter-playlist').each(function() {
var $this = $(this);
$this.prop('checked', false);
$this.parent().find('> div').removeClass('chk-checked').addClass('chk-unchecked');
});
e.preventDefault();
id = [];
slug = [];
$('.genreTag:checked').each(function()
{
id.push($(this).attr('id'));
slug.push($(this).attr('data-slug'));
});
$.get("/genre-tags/", {id: id,slug: slug}, function(data)
{
hideLoader();
refreshedPage = $(data);
newDemo = refreshedPage.find(".libraryWrapper, .albumWrapper, .composersWrapper, .albumsListWrapper, .albumsWrapper, .accountWrapper, .distributionsWrapper, .PaymentsWrapper, .contactWrapper, .contractsWrapper, .toolsWrapper, .blogWrapper, .pageWrapper, .cartWrapper, .pageWrapper").html();
$('.libraryWrapper, .albumsWrapper, .albumWrapper, .composersWrapper, .albumsListWrapper, .accountWrapper, .distributionsWrapper, .PaymentsWrapper, .contactWrapper, .contractsWrapper, .toolsWrapper, .blogWrapper, .pageWrapper, .cartWrapper, .pageWrapper').html(newDemo);
activatePlayer()
initTrackInfo();
});
});
});
控制器
public function genresFilter ()
{
$sortBy = Input::get('sortBy', 'id');
$dir = Input::get('direction', 'desc');
$orderBy = [
'tracks'=>[ 'order_by'=>$sortBy, 'direction'=>$dir ]
];
$id = Input::get('id');
$slug = Input::get('slug');
if(!is_array($id)) {
$id = [];
$tag = [];
} else {
Tag::with('tracks', 'elements')
->whereIn('category_id', [$genresCat->id, $moodCat->id, $productionCat->id, $vocalCat->id])
->whereIn('id', $id)
->whereBetween('created_at', [$dateS, $dateE])
->get();
}
echo "<pre>";
print_r($tag->toArray());
die();
$this->layout->content = View::make('public.tags.genres', compact('tag'));
}
推荐答案
您可以使用array_merge()php函数并合并两个数组.
You can use array_merge() php function and merge two array..like this
$result=array_merge($id,$slug);
这篇关于从Laravel中的foreach循环合并数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文