<?php
namespace App\Filament\Widgets;
use App\Models\Page;
use Filament\Forms\Concerns\InteractsWithForms;
use Filament\Forms\Contracts\HasForms;
use Filament\Widgets\Widget;
use Filament\Forms;
class LinkpageImages extends Widget implements HasForms
{
use InteractsWithForms;
protected static string $view = 'filament.widgets.linkpage-images';
protected static ?string $pollingInterval = null;
public $pages;
public $images;
public function mount(): void
{
$this->pages = Page::get();
}
protected function getFormSchema()
{
$fields = [];
foreach ($this->pages as $page) {
$fields[] = Forms\Components\SpatieMediaLibraryFileUpload::make('images')
->collection('background')
->model($page)
->image()
->maxSize(1024*3)
->required();
}
return [
Forms\Components\Grid::make(2)
->schema($fields)
];
}
public function submit(): void
{
dd($this->form->getState());
}
}
<?php
namespace App\Filament\Widgets;
use App\Models\Page;
use Filament\Forms\Concerns\InteractsWithForms;
use Filament\Forms\Contracts\HasForms;
use Filament\Widgets\Widget;
use Filament\Forms;
class LinkpageImages extends Widget implements HasForms
{
use InteractsWithForms;
protected static string $view = 'filament.widgets.linkpage-images';
protected static ?string $pollingInterval = null;
public $pages;
public $images;
public function mount(): void
{
$this->pages = Page::get();
}
protected function getFormSchema()
{
$fields = [];
foreach ($this->pages as $page) {
$fields[] = Forms\Components\SpatieMediaLibraryFileUpload::make('images')
->collection('background')
->model($page)
->image()
->maxSize(1024*3)
->required();
}
return [
Forms\Components\Grid::make(2)
->schema($fields)
];
}
public function submit(): void
{
dd($this->form->getState());
}
}