Improvements: fix duplicate seeder, add missing seeders, remove redundant $with, add migration down(), optimize queries

This commit is contained in:
root
2026-06-08 18:33:24 +02:00
parent 9bb2e4246b
commit 6eeb85fcf2
9 changed files with 35 additions and 15 deletions
@@ -22,7 +22,7 @@ class ContentApiController extends Controller
public function settings(): JsonResponse
{
$settings = Cache::remember('api_all_settings', 60, fn () => WebsiteSetting::all()->pluck('value', 'key'));
$settings = Cache::remember('api_all_settings', 60, fn () => WebsiteSetting::pluck('value', 'key'));
return response()->json(['data' => $settings]);
}
@@ -29,6 +29,8 @@ class ArticleController extends Controller
public function show(WebsiteArticle $article): View
{
$article->load('user:id,username,look');
$reactions = $article->reactions()
->with('user:id,username')
->get();
@@ -111,7 +111,8 @@ class InstallationController extends Controller
private function getSettingsForStep(int $step): Collection
{
$settingsData = array_chunk(WebsiteSetting::all()->pluck('key')->toArray(), (int) ceil(WebsiteSetting::count() / 4));
$allKeys = WebsiteSetting::pluck('key')->toArray();
$settingsData = array_chunk($allKeys, (int) ceil(count($allKeys) / 4));
$settings = match ($step) {
1 => $settingsData[0] ?? [],
-4
View File
@@ -44,10 +44,6 @@ class WebsiteArticle extends Model
use BelongsToUser;
use HasSlug, \Illuminate\Database\Eloquent\Factories\HasFactory, SoftDeletes;
/** @var array<int, string> */
#[\Override]
protected $with = ['user'];
protected static function newFactory()
{
return WebsiteArticleFactory::new();
@@ -41,10 +41,6 @@ class WebsiteHelpCenterTicket extends Model
#[\Override]
protected $guarded = ['id', 'created_at', 'updated_at', 'user_id', 'status', 'subject', 'category_id'];
/** @var array<int, string> */
#[\Override]
protected $with = ['user', 'category'];
#[\Override]
public $timestamps = false;
-4
View File
@@ -13,10 +13,6 @@ class RadioShout extends Model
use BelongsToUser;
use HasFactory;
/** @var array<int, string> */
#[\Override]
protected $with = ['user'];
#[\Override]
protected $fillable = [
'user_id',
@@ -13,4 +13,12 @@ return new class extends Migration
$table->foreign('user_id')->references('id')->on('users')->cascadeOnDelete();
});
}
public function down(): void
{
Schema::table('website_articles', function (Blueprint $table) {
$table->dropForeign(['user_id']);
$table->string('user_id')->change();
});
}
};
@@ -12,4 +12,11 @@ return new class extends Migration
$table->text('value')->change();
});
}
public function down(): void
{
Schema::table('website_settings', function (Blueprint $table) {
$table->string('value')->change();
});
}
};
+15 -1
View File
@@ -31,13 +31,27 @@ class DatabaseSeeder extends Seeder
WebsiteRuleCategorySeeder::class,
WebsiteRuleSeeder::class,
WebsiteHelperCenterCategorySeeder::class,
WebsiteHelperCenterCategorySeeder::class,
// Values
WebsiteRareValuesCategorySeeder::class,
// Housekeeping permissions
HousekeepingPermissionSeeder::class,
// Features
WebsiteArticleFeatureSeeder::class,
// Games
GameRankSeeder::class,
DailyChallengeSeeder::class,
// Radio
RadioSettingsSeeder::class,
RadioContestSeeder::class,
RadioGiveawaySeeder::class,
RadioListenerPointSeeder::class,
RadioSongRequestSeeder::class,
RadioSongVoteSeeder::class,
]);
// \App\Models\User::factory(10)->create();