created FilamentCount per Manufacturer
This commit is contained in:
@@ -61,6 +61,7 @@ class FilamentController extends Controller
|
||||
$filament->diameter = $request->diameter;
|
||||
$filament->save();
|
||||
|
||||
ManufacturerController::refresh();
|
||||
return redirect()->route('filaments.index')->with('success', 'Filament created successfully.');
|
||||
}
|
||||
|
||||
@@ -118,6 +119,8 @@ class FilamentController extends Controller
|
||||
$filament->diameter = $request->diameter;
|
||||
$filament->save();
|
||||
|
||||
ManufacturerController::refresh();
|
||||
|
||||
return redirect()->route('filaments.show', $filament->id)->with('success', 'Filament updated successfully.');
|
||||
}
|
||||
|
||||
@@ -129,6 +132,8 @@ class FilamentController extends Controller
|
||||
// delete a specific filament
|
||||
$filament = Filament::find($id);
|
||||
$filament->delete();
|
||||
|
||||
ManufacturerController::refresh();
|
||||
return redirect()->route('filaments.index')->with('success', 'Filament deleted successfully.');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,15 @@ class ManufacturerController extends Controller
|
||||
return view('manufacturers.index', compact('manufacturers', 'filamentcount'));
|
||||
}
|
||||
|
||||
public static function refresh()
|
||||
{
|
||||
foreach (Manufacturer::all() as $manufacturer) {
|
||||
$manufacturer->filament_count = Filament::all()->where('manufacturer_id', $manufacturer->id)->count();
|
||||
$manufacturer->save();
|
||||
}
|
||||
return redirect()->route('manufacturers.index')->with('success', 'Manufacturer count refreshed successfully.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*/
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Livewire;
|
||||
|
||||
use Livewire\Component;
|
||||
use App\Models\FilamentType;
|
||||
|
||||
class CreateFilamentType extends Component
|
||||
{
|
||||
public $name = "";
|
||||
|
||||
public $decription = "";
|
||||
|
||||
public function save()
|
||||
{
|
||||
FilamentType::create(
|
||||
$this->only(['name', 'description'])
|
||||
);
|
||||
session()->flash('status', 'Filament Type Created Successfully.');
|
||||
return redirect()->route('filamenttype.list');
|
||||
}
|
||||
public function render()
|
||||
{
|
||||
return view('filamenttype.create');
|
||||
}
|
||||
}
|
||||
@@ -3,11 +3,13 @@
|
||||
namespace App\Livewire;
|
||||
|
||||
use Livewire\Component;
|
||||
use App\Models\Manufacturer;
|
||||
|
||||
class Dashboard extends Component
|
||||
{
|
||||
public function render()
|
||||
{
|
||||
return view('livewire.dashboard');
|
||||
$manufacturers = Manufacturer::all()->where('filament_count', '<', 0);
|
||||
return view('livewire.dashboard', compact('manufacturers'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('manufacturers', function (Blueprint $table) {
|
||||
//
|
||||
$table->integer('filament_count')->default(0);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('manufacturers', function (Blueprint $table) {
|
||||
//
|
||||
$table->dropColumn('filament_count');
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -1,30 +0,0 @@
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
|
||||
<div class="col-span-2">
|
||||
<x-card>
|
||||
<h3>
|
||||
Manufacturers
|
||||
</h3>
|
||||
</x-card>
|
||||
</div>
|
||||
<div class="col-span-1">
|
||||
<x-card>
|
||||
<h3>
|
||||
Filaments
|
||||
</h3>
|
||||
</x-card>
|
||||
</div>
|
||||
<div class="col-span-1">
|
||||
<x-card>
|
||||
<h3>
|
||||
Types
|
||||
</h3>
|
||||
</x-card>
|
||||
</div>
|
||||
<div class="col-span-2">
|
||||
<x-card>
|
||||
<h3>
|
||||
Colors
|
||||
</h3>
|
||||
</x-card>
|
||||
</div>
|
||||
</div>
|
||||
@@ -8,7 +8,39 @@
|
||||
<div class="py-12">
|
||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
||||
|
||||
<x-dashboard />
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
|
||||
<div class="col-span-2">
|
||||
<x-card>
|
||||
<h3>
|
||||
Manufacturers
|
||||
</h3>
|
||||
@foreach ($manufacturers as $manufacturer)
|
||||
{{ $manufacturer->name }}
|
||||
@endforeach
|
||||
</x-card>
|
||||
</div>
|
||||
<div class="col-span-1">
|
||||
<x-card>
|
||||
<h3>
|
||||
Filaments
|
||||
</h3>
|
||||
</x-card>
|
||||
</div>
|
||||
<div class="col-span-1">
|
||||
<x-card>
|
||||
<h3>
|
||||
Types
|
||||
</h3>
|
||||
</x-card>
|
||||
</div>
|
||||
<div class="col-span-2">
|
||||
<x-card>
|
||||
<h3>
|
||||
Colors
|
||||
</h3>
|
||||
</x-card>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -28,5 +28,6 @@ Route::middleware([
|
||||
Route::resource('filaments', FilamentController::class);
|
||||
// Manufacturers
|
||||
Route::resource('manufacturers', ManufacturerController::class);
|
||||
Route::get('refresh', [ManufacturerController::class, 'refresh'])->name('refresh');
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user