feat(menu): ensure label column is added only if it doesn't exist and simplify menu update logic
This commit is contained in:
@@ -10,9 +10,11 @@ return new class extends Migration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('menues', function (Blueprint $table) {
|
||||
$table->string('label')->nullable()->after('code');
|
||||
});
|
||||
if (! Schema::hasColumn('menues', 'label')) {
|
||||
Schema::table('menues', function (Blueprint $table) {
|
||||
$table->string('label')->nullable()->after('code');
|
||||
});
|
||||
}
|
||||
|
||||
$labels = [
|
||||
'index' => 'Inicio',
|
||||
@@ -33,14 +35,12 @@ return new class extends Migration
|
||||
DB::table('menues')
|
||||
->select(['id', 'code'])
|
||||
->orderBy('id')
|
||||
->eachById(function ($menus) use ($labels): void {
|
||||
foreach ($menus as $menu) {
|
||||
$fallback = Str::headline(Str::afterLast($menu->code, '.'));
|
||||
->eachById(function ($menu) use ($labels): void {
|
||||
$fallback = Str::headline(Str::afterLast($menu->code, '.'));
|
||||
|
||||
DB::table('menues')
|
||||
->where('id', $menu->id)
|
||||
->update(['label' => $labels[$menu->code] ?? $fallback]);
|
||||
}
|
||||
DB::table('menues')
|
||||
->where('id', $menu->id)
|
||||
->update(['label' => $labels[$menu->code] ?? $fallback]);
|
||||
});
|
||||
|
||||
Schema::table('menues', function (Blueprint $table) {
|
||||
|
||||
Reference in New Issue
Block a user