Arkadaşlar merhaba herkese iyi günler.
Benim şu şekilde bir create formum var
https://resimlink.com/yoI1
Resimdende anlaşılacağı üzer programa ait gün sayım belli değil ve aşğıdaki linkdeki resimde her gün için o güne ait videoları seçtirip sıralattırıyorum .
https://resimlink.com/V4zQw
Yapıyı özetlemek gerekirse Programım var ve programın çoklu dil özelliği var ve değişkenlik gösteren bir gün sayıs var ve her gün isteğe bağlı sayıda video içeriyor videolarda taglara n-n ilişki
Benim sıkıntı çektiğim kısım ise bu oluşturduğum programı editlerken viewa yansıtmamda yansıtıyorum fakat içime sinmedi size danışmak istedim.
Kişinin 4 günlük bir program oluşturduunu varsayarsak:
https://resimlink.com/PTBuXw
Böyle bir view ortaya çıkıyor. Yukarıdakiler seçmedikleri aşağıdakiler ise daha önce seçtikleri
Ben program modeli üzerine
public function programVideos(): \Illuminate\Database\Eloquent\Relations\HasMany
{
return $this->hasMany(ProgramVideo::class,'program_id');
}
böyle bir fonksiyon yazıp
https://resimlink.com/RgI2
Bu tablodaki program idsine göre bir collection alıp viewa yolluyorum ve viewda selectler için 😀
@foreach(range(1,$program->sum_day) as $day)
<div class="tab-pane fade" id="day{{$day}}" role="tabpanel"
aria-labelledby="nav-contact-tab">
<div class="container row" style="margin-top: 20px;" id="day{{$day}}multiselectlist">
<div class="form-group col-10">
<select multiple class="form-control" id="multivalfrom" size="8">
@foreach($videos as $video)
@if(is_null($program->programVideos->where('program_id',$program->id)->where('day',$day)->where('video_id',$video->id)->first()))
<option value="{{$video->id}}">
{{$video->name}}
<span>(</span>
@foreach($video->tags as $tag)
{{ !$loop->last ? $tag->name ."," : $tag->name}}
@endforeach
<span>)</span>
</option>
@endif
@endforeach
</select>
</div>
<div class="col-2">
<div class="btn-group-vertical w-100" style="width:100%">
<button type="button" class="btn btn-default col-sm-12 btn-sm"
title="Move All" id="move_all_btn"><i
class="fas fa-angle-double-right"></i></button>
<button type="button" class="btn btn-default col-sm-12 btn-sm" title="Move"
id="move_btn"><i class="fas fa-angle-right"></i></button>
<button type="button" class="btn btn-default col-sm-12 btn-sm"
title="Remove" id="remove_btn"><i class="fas fa-angle-left"></i>
</button>
<button type="button" class="btn btn-default col-sm-12 btn-sm"
title="Remove All" id="remove_all_btn"><i
class="fas fa-angle-double-left"></i></button>
</div>
</div>
<div class="form-group col-10">
<select multiple class="form-control" id="multivalto" size="8" name="day{{$day}}tags[]" required>
@foreach($videos as $video)
@if(!is_null($program->programVideos->where('program_id',$program->id)->where('day',$day)->where('video_id',$video->id)->first()))
<option value="{{$video->id}}" selected>
{{$video->name}}
<span>(</span>
@foreach($video->tags as $tag)
{{ !$loop->last ? $tag->name ."," : $tag->name}}
@endforeach
<span>)</span>
</option>
@endif
@endforeach
</select>
</div>
<div class="col-2">
<div class="btn-group-vertical" style="width:100%">
<button type="button" class="btn btn-default col-sm-12 btn-sm" title="Top"
id="top_btn"><i class="fas fa-angle-double-up"></i></button>
<button type="button" class="btn btn-default col-sm-12 btn-sm" title="Up"
id="up_btn"><i class="fas fa-angle-up"></i></button>
<button type="button" class="btn btn-default col-sm-12 btn-sm" title="Down"
id="down_btn"><i class="fas fa-angle-down"></i></button>
<button type="button" class="btn btn-default col-sm-12 btn-sm"
title="Bottom" id="bottom_btn"><i
class="fas fa-angle-double-down"></i>
</button>
</div>
</div>
</div>
</div>
@endforeach
böyle yapıyorum sizin bu işi daha kolay yapabileceğimi düşündüğünüz fikirleri lütfen söyleyin teşekkürler şimdiden