created FilamentCount per Manufacturer
This commit is contained in:
@@ -61,6 +61,7 @@ class FilamentController extends Controller
|
|||||||
$filament->diameter = $request->diameter;
|
$filament->diameter = $request->diameter;
|
||||||
$filament->save();
|
$filament->save();
|
||||||
|
|
||||||
|
ManufacturerController::refresh();
|
||||||
return redirect()->route('filaments.index')->with('success', 'Filament created successfully.');
|
return redirect()->route('filaments.index')->with('success', 'Filament created successfully.');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,6 +119,8 @@ class FilamentController extends Controller
|
|||||||
$filament->diameter = $request->diameter;
|
$filament->diameter = $request->diameter;
|
||||||
$filament->save();
|
$filament->save();
|
||||||
|
|
||||||
|
ManufacturerController::refresh();
|
||||||
|
|
||||||
return redirect()->route('filaments.show', $filament->id)->with('success', 'Filament updated successfully.');
|
return redirect()->route('filaments.show', $filament->id)->with('success', 'Filament updated successfully.');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,6 +132,8 @@ class FilamentController extends Controller
|
|||||||
// delete a specific filament
|
// delete a specific filament
|
||||||
$filament = Filament::find($id);
|
$filament = Filament::find($id);
|
||||||
$filament->delete();
|
$filament->delete();
|
||||||
|
|
||||||
|
ManufacturerController::refresh();
|
||||||
return redirect()->route('filaments.index')->with('success', 'Filament deleted successfully.');
|
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'));
|
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.
|
* 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;
|
namespace App\Livewire;
|
||||||
|
|
||||||
use Livewire\Component;
|
use Livewire\Component;
|
||||||
|
use App\Models\Manufacturer;
|
||||||
|
|
||||||
class Dashboard extends Component
|
class Dashboard extends Component
|
||||||
{
|
{
|
||||||
public function render()
|
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="py-12">
|
||||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
<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>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -28,5 +28,6 @@ Route::middleware([
|
|||||||
Route::resource('filaments', FilamentController::class);
|
Route::resource('filaments', FilamentController::class);
|
||||||
// Manufacturers
|
// Manufacturers
|
||||||
Route::resource('manufacturers', ManufacturerController::class);
|
Route::resource('manufacturers', ManufacturerController::class);
|
||||||
|
Route::get('refresh', [ManufacturerController::class, 'refresh'])->name('refresh');
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user