alrez/iran-states

A package for managing provinces and cities of Iran in Laravel.

v2.0.2 2025-01-02 13:54 UTC

This package is auto-updated.

Last update: 2025-06-13 13:22:48 UTC


README

License PHP Version

درباره پکیج

این پکیج برای مدیریت استان‌ها و شهرهای ایران در فریم‌ورک لاراول طراحی شده است. با استفاده از این پکیج می‌توانید به راحتی به لیست استان‌ها و شهرهای ایران دسترسی داشته باشید.

نصب

برای نصب از طریق کامپوزر:

composer require alrez/iran-states

سپس برای نصب جداول و داده‌های پایه:

php artisan iranStates:install

این دستور به صورت خودکار مایگریشن‌ها را اجرا کرده و داده‌های پایه را در دیتابیس وارد می‌کند.

انتشار فایل‌های پکیج (اختیاری)

برای انتشار فایل کانفیگ:

php artisan vendor:publish --tag=iran-states

استفاده

مدل‌ها

use Alrez\IranStates\Models\State;
use Alrez\IranStates\Models\City;

// دریافت همه استان‌ها
$states = State::all();

// دریافت شهرهای یک استان
$state = State::find(1);
$cities = $state->cities;

// دریافت استان یک شهر
$city = City::find(1);
$state = $city->state;

سرویس

use Alrez\IranStates\Services\CityStateService;

$service = new CityStateService();
$statesWithCities = $service->getAllStatesWithCities();

تریت

use Alrez\IranStates\Traits\HasCitiesAndStates;

class YourModel
{
    use HasCitiesAndStates;
}

// استفاده
$model = new YourModel();
$states = $model->getStates();
$cities = $model->getCitiesByState($stateId);

Iran States Package for Laravel

License PHP Version

About

This package provides a comprehensive solution for managing Iran's states and cities in Laravel applications. It offers easy access to a complete list of Iran's states and their corresponding cities.

Installation

Install via Composer:

composer require alrez/iran-states

Then install the tables and seed the data:

php artisan iranStates:install

This command will automatically run the migrations and seed the database with the initial data.

Publishing Package Files (Optional)

To publish the config file:

php artisan vendor:publish --tag=iran-states

Usage

Models

use Alrez\IranStates\Models\State;
use Alrez\IranStates\Models\City;

// Get all states
$states = State::all();

// Get cities of a state
$state = State::find(1);
$cities = $state->cities;

// Get state of a city
$city = City::find(1);
$state = $city->state;

Service

use Alrez\IranStates\Services\CityStateService;

$service = new CityStateService();
$statesWithCities = $service->getAllStatesWithCities();

Trait

use Alrez\IranStates\Traits\HasCitiesAndStates;

class YourModel
{
    use HasCitiesAndStates;
}

// Usage
$model = new YourModel();
$states = $model->getStates();
$cities = $model->getCitiesByState($stateId);