Erster Upload
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\User\Resources\RecipeResource\Pages;
|
||||
|
||||
use App\Filament\User\Resources\RecipeResource;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use App\Models\RecipeSpice;
|
||||
|
||||
class CreateRecipe extends CreateRecord
|
||||
{
|
||||
protected static string $resource = RecipeResource::class;
|
||||
|
||||
protected function handleRecordCreation(array $data): Model
|
||||
{
|
||||
$record = static::getModel()::create($data);
|
||||
|
||||
foreach ($data['spices'] as $spice) {
|
||||
RecipeSpice::create([
|
||||
'recipe_id' => $record->id,
|
||||
'spice_id' => $spice['spice_id'],
|
||||
'amount_in_percent' => $spice['amount_in_percent'],
|
||||
]);
|
||||
}
|
||||
return $record;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
namespace App\Filament\User\Resources\RecipeResource\Pages;
|
||||
|
||||
use App\Filament\User\Resources\RecipeResource;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
class EditRecipe extends EditRecord
|
||||
{
|
||||
protected static string $resource = RecipeResource::class;
|
||||
|
||||
protected function afterSave(): void
|
||||
{
|
||||
$this->syncSpices();
|
||||
}
|
||||
|
||||
protected function syncSpices(): void
|
||||
{
|
||||
$recipe = $this->record;
|
||||
|
||||
$spices = collect($this->data['spices'] ?? [])
|
||||
->mapWithKeys(function ($spice) {
|
||||
return [
|
||||
$spice['spice_id'] => ['amount_in_percent' => $spice['amount_in_percent']],
|
||||
];
|
||||
})
|
||||
->toArray();
|
||||
|
||||
$recipe->spices()->sync($spices);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\User\Resources\RecipeResource\Pages;
|
||||
|
||||
use App\Filament\User\Resources\RecipeResource;
|
||||
use Filament\Actions;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
|
||||
class ListRecipes extends ListRecords
|
||||
{
|
||||
protected static string $resource = RecipeResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Actions\CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user