rmarsigli/filament-address 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

rmarsigli/filament-address

Composer 安装命令:

composer require rmarsigli/filament-address

包简介

Address form plugin for Filament

README 文档

README

This library is a solution for a recurring application in my applications, witch is to use an address solution without streets, but with neighborhoods, cities and states.

Note: it already has a Seeder ready for neighborhoods, cities and states in Brazil.

How to use

First, install the package:

composer require rmarsigli/filament-address

Publish migration and (optionally) language:

php artisan vendor:publish --tags=filament-address-migration
php artisan vendor:publish --tags=filament-address-lang

Add the polymorphic relation to the resource model:

    use Rmarsigli\FilamentAddress\Models\Address;

    public function address(): MorphOne
    {
        return $this->morphOne(
            Address::class, 
            'address', 
            'address_type', 
            'address_id'
        );
    }

Using the form in Filament

Use hasAddress trait in your Filament resource:

use Rmarsigli\FilamentAddress\Traits\HasAddress;
... // Filament classes

class MyResource extends Resource {
    use HasAddress;
    
    public static function form(Form $form): Form {
        $resourceInstance = new self();
        
        return $form
            ->schema([
                Section::make()->schema(
                    $resourceInstance->getAddressFields(),
                )
                ->inlineLabel(),
                ->hiddenOn('create')
            ]);
    }
}

The inlineLabel() is totally optional, and hiddenOn('create') method is to ensure that it will be executed when the Resource has an id.

Using this package with Laravel

Without Filament, you can use this package. Import the models and integrate with your controller. Models are:

use Rmarsigli\FilamentAddress\Models\Address;
use Rmarsigli\FilamentAddress\Models\AddressCity;
use Rmarsigli\FilamentAddress\Models\AddressState;
use Rmarsigli\FilamentAddress\Models\AddressCountry;

Check project files for models structure.

Brazilian automatic seeder

Maybe in another countries soon.

use Rmarsigli\FilamentAddress\Seeders\AddressSeeder;

class DatabaseSeeder extends Seeder
{
    public function run(): void
    {
        $this->call([
            AddressSeeder::class,
        ]);
    }
}

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-01-24