我有一个使用 laravel 11 的生产就绪 API,我想集成灯丝以获得一些漂亮的视图,但我想将灯丝(创建、更新、列表)与我现有的 API 集成,而不是直接与模型默认灯丝 CRUD 操作。例如我想将创建提交表单发送到我的 API 附注
Route::post('/teachers', [TeacherController::class, 'store']);
并编辑为
Route::put('/teachers/{id}', [TeacherController::class, 'update']);
如何整合它?
无论如何谢谢你!
我第一次使用灯丝,我不知道如何使用现有的API端点定制灯丝
也许是这样的?您可以自定义您的操作:
use Filament\Forms;
use Filament\Resources\Form;
use Illuminate\Support\Facades\Http;
class TeacherResource extends Form
{
public static function form(Form $form): Form
{
return $form
->schema([
// Define your form fields here
Forms\Components\TextInput::make('name')->required(),
Forms\Components\TextInput::make('email')->email()->required(),
])
->onSubmit(function (array $data) {
if ($this->record->id) {
// Update logic
Http::put(url('/api/teachers/' . $this->record->id), $data);
} else {
// Create logic
Http::post(url('/api/teachers'), $data);
}
return redirect()->route('filament.resources.teachers.index');
});
}
}