mgsmus abi belli bir zamanda
$sitemap= SitemapGenerator::create(env('APP_URL'))
->getSitemap();
$slugs = EventTranslation::join('events', 'events.id', '=','event_translations.event_id')->where('events.status',1)->get();
foreach ($slugs as $translation){
$url=$translation->lang =='en' ? $translation->slug : $translation->lang.'/'.$translation->slug;
$sitemap
->add($url)->writeToFile(public_path('sitemap.xml'));
}
böyle oluşturuyorum .
istiyorum ki mesela bir event oluşturdum eskinin üzerine koysun ya da güncelledim gerekli yeri güncellesin .
Spatie paketini kullanıyorum
Hepsini silip tekrar baştan yazdığında serverı yoruyor bayağı
Belli olaylarda bunun güncellenmesini istiyorum bunun için event listener yaptım .
Sitemap oluşturma işlemini bir api işlemine dönüştürdüm .
Listenerda olay tetiklenince hazırladığım apiyi çağıyorum .
APi bodyde mesela ModelTipi olay tipi(update veya add) bir de oluşturulan veya güncellenen modelin id sini gönderiyorum duruma göre ekleme veya güncelleme yapacak diye kuruguladım .