Menambah master langsung dari select option

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::create('categories', function (Blueprint $table) { $table->id(); $table->string('name'); $table->timestamps(); }); }

<em>/**</em>

* Reverse the migrations. */ public function down(): void { Schema::dropIfExists('categories'); } };Replace migration posts seperti berikut:<?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::create('posts', function (Blueprint $table) { $table->id(); $table->string('title'); $table->longText('content'); $table->foreignId('categorie_id')->constrained('categories')->cascadeOnUpdate()->restrictOnDelete(); $table->timestamps(); }); }

<em>/**</em>

* Reverse the migrations. */ public function down(): void { Schema::dropIfExists('posts'); } };Replace model Post seperti berikut:<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model;

class Post extends Model { use HasFactory;

protected $guarded = [];
 
public function categorie()
{
return $this-&gt;belongsTo(Category::class, 'categorie_id');
}

}Replace model Category seperti berikut:<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model;

class Category extends Model { use HasFactory;

protected $guarded = [];

}jalankan migration tablephp artisan migrateMembuat Form Postpada bagian form tambahkan kode berikutpublic static function form(Form $form): Form { return $form ->schema([ Card::make() ->schema([ TextInput::make('title'), RichEditor::make('content'), Select::make('categorie_id') ->label('Category') ->relationship('categorie', 'name') ->createOptionForm([ TextInput::make('name') ])

])
]);
}</pre><p><strong>bagian terpenting adalah pada kode berikut ini:</strong></p><pre>-&gt;createOptionForm([
TextInput::make('name')

])kode ini untuk membuat select option bisa menambahkan master category secara langsungjangan lupa untuk mengimport component berikutuse Filament\Forms\Components\Card; use Filament\Forms\Components\RichEditor; use Filament\Forms\Components\Select; use Filament\Forms\Components\TextInput;selanjutnya membuat list tablepublic static function table(Table $table): Table { return $table ->columns([ TextColumn::make('title'), TextColumn::make('categorie.name') ->label('Category'), ]) ->filters([ // ]) ->actions([ Tables\Actions\EditAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]) ->emptyStateActions([ Tables\Actions\CreateAction::make(), ]); }jangan lupa mengimport component dibawah iniuse Filament\Tables\Columns\TextColumn;Melihat hasil dan menjalankan Serverjalankan server php artisan servepergi ke url 127.0.0.1:8000/user/login login dengan user dan password yang sudah anda buat untuk user jika belum ada registrasi ulang 127.0.0.1:8000/user/registerselect optionklik pada icon plus maka akan muncul modal untuk menambahkan master categorymodal untuk menambahkan master category

Komentar

Ada 0 komentar pada episode ini.