ldc-groupe/database/seeders/NewsSeeder.php
2026-01-19 09:41:05 +01:00

37 lines
934 B
PHP

<?php
namespace Database\Seeders;
use App\Models\News;
use App\Models\NewsCategory;
use Illuminate\Database\Seeder;
use Uwil\LaravelCommon\Helpers\FileHelper;
class NewsSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run(): void
{
News::factory(10)->make()->each(function (News $news) {
$news->picture = FileHelper::storeFile(
$news,
new \SplFileInfo(resource_path(
'../database/factories/assets/news/525x295.jpg'
))
);
$news->saveOrFail();
});
// News relation.
$categoriesIds = NewsCategory::pluck('id');
News::query()->get()->map(function (News $news) use ($categoriesIds) {
$news->categories()->attach(
$categoriesIds->random(rand(1, 3))->all()
);
});
}
}