با عرض سلام و خسته نباشید خدمت استاد محترم
استاد من برای دریافت تگ ها با استفاده از پکیج select2 به جای جاوا اسکریپت از خود php استفاده کردم. اول توی صفحه create فقط تگ select رو گذاشتم. به این شکل :
<select class="form-control js-example-basic-single" multiple="multiple" name="tags[]">
و اسکریپتش رو زیر صفحه اضافه کردم :
<script>
$(document).ready(function() {
$('.js-example-basic-single').select2({
tags: true,
});
});
</script>
توی متد store به این شکل دریافتش کردم:
if ($request['tags'] != null && !empty($request['tags'])) {
$request['tags'] = implode(",", array_values($request['tags']));
} else {
$request['tags'] = '';
}
توی متد edit تگ ها رو به دست آوردم و توی صفحه edit تگ option رو به ازای کلمات کلیدی تکرار کردم و باز اسکریپتش رو هم اضافه کردم مثل بالایی :
<select class="form-control js-example-basic-single" multiple="multiple"
name="tags[]">
<?php for($i =0;$i < count($tags);$i++){ ?>
<option value="<?= $tags[$i] ?>" <?php if(in_array($tags[$i],$tags)) echo 'selected'; ?>><?= $tags[$i] ?></option>
<?php } ?>
</select>
<script>
$(document).ready(function() {
$('.js-example-basic-single').select2({
tags: true,
});
});
</script>
و باز توی متد Update هم کدهای store رو تکرار کردم
if ($request['tags'] != null && !empty($request['tags'])) {
$request['tags'] = implode(",", array_values($request['tags']));
} else {
$request['tags'] = '';
}
مثل کدهای شما کار میکنه. فقط میخواستم ببینم چنین روشی درست هست یا نه؟
سلام وقت بخیر
بله اگر خروجی درستی دارید مشکلی نیست
سپاس
زنده باشید