Bir ürünü birden fazla kategoride tutabileceğiniz bir veritabanı dizaynına sahip misiniz?
Hayır ise (yani ürün tablosunda category_id diye bir alanda tek bir kategori id'si tutuyorsanız):
Ortanca bir tablonuz olmalı. Bu tabloda iki alan olacak; product_id ve category_id. Ürün kategorilerini bu tabloda tutacaksınız:
+------------+-------------+
| product_id | category_id |
+------------+-------------+
| 2 | 5 |
| 2 | 6 |
| 2 | 7 |
+------------+-------------+
Bu tabloya göre id'si 2 olan ürün id'si 5,6 ve 7 olan kategoriye ait. Bu ilişki Eloquent'de many-to-many/belongsToMany olarak geçmekte:
https://laravel.com/docs/5.7/eloquent-relationships#many-to-many
Evet ise (tablonuz var ve Product ile Category modeli arasında gerekli ilişkileri kurdunuz):
Gördüğüm kadarıyla select2 kullanıyorsunuz. select2'nin multiple özelliği ile birden fazla kategori seçebilirsiniz:
https://select2.org/getting-started/basic-usage#multi-select-boxes-pillbox
multiple ile kategori id'leri içeren bir dizi alırsınız [5,6,7] şeklinde. many-to-many ilişkisinde bunları rahatlıkla ortanca tabloya eklemenize yarayacak olan attach, detach, sync yöntemleri mevcut:
https://laravel.com/docs/5.7/eloquent-relationships#updating-many-to-many-relationships
Yol göstereceğini düşünüyorum, iyi okumalar.