Skip to content

The package allows you to access data through the base car by model

Notifications You must be signed in to change notification settings

bigperson/auto-base-buy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 

Repository files navigation

База автомобилей для Laravel

StyleCI

Данный пакет позволяет удобно использовать базу данных автомобилей в ваших проектах, реализовывать поисковые подсказки, привязку автомобиля к вашим моделям и т.д.

В пакет входит только пример структуры базы, сама база автомобилей не входит в пакет, а приобретается отдельно на сайте https://auto.basebuy.ru/.

На данный момент пакет не поддерживает характеристики автомобилей и REST API базы данных транспортных средств Basebuy.ru

Сожержание

  • Установка
    • Импорт базы
  • Использование

Установка

Вы можете установить данный пакет с помощью oomposer:

composer require bigperson/auto-base-buy

Ипорт базы автомобилей

Сначала необходимо создать необходимые таблицы в базе данных, для этого импортируйте файлы миграций из пакета используя artisan:

 php artisan vendor:publish --tag=migrations --provider="Bigperson\AutoBaseBuy\AutoBaseBuyServiceProvider"

После чего необходимо применить миграции:

php artisan migrate

Далее необходимо импортировать seeds:

 php artisan vendor:publish --tag=seeds --provider="Bigperson\AutoBaseBuy\AutoBaseBuyServiceProvider"

И перегененрировать autoload.php: composer dump-autoload

В database/csv/* создадутся csv файлы для иморта. Их необходимо будет заменить на оригинальные, после покупки на https://auto.basebuy.ru/.

Далее необходимо применить seeds:

php artisan db:seed --class=AutoBusyBuySeeder

Использование

Использовать пакет достаточно просто. Вы можете вызывать модели в контроллерах:

namespace App\Http\Controllers;

use Bigperson\AutoBaseBuy\Models\CarMark;

class Controller
{
    protected function show($id){

        $mark = CarMark::findOrFail($id);
        
    }
}

Связывать свои модели с автомобилями по марке, модели, серии, и т.д., предварительно конечно нужно определиться с типом связи и создать необходимые таблицы или столбцы в таблицах ваших моделей:

namespace App;

use Bigperson\AutoBaseBuy\Models\CarModification;

class User extends Model
{
     public function car()
     {
         return $this->belongsTo(CarModification::class, 'id_car_modification');
     }
}

Также вы можете можете переопределить модели и расширить их, например добавив аксессор:

namespace App;

use Bigperson\AutoBaseBuy\Models\CarModification as BaseCarModification;

class CarModification extends BaseCarModification
{
    /**
     * Получить полное название автомобиля, включая марку, модель, годы выпуска, серию
     * @return string
     */
    public function getFullNameAttribute()
    {
        $string = $this->carModel->carMark->name;
        $string .= ' '.$this->carModel->name;
        $string .= ' '.$this->carSerie->name;
        $string .= ' '.$this->carSerie->carGeneration->name;
        $string .= ' ('.$this->carSerie->carGeneration->year_begin.'-'.$this->carSerie->carGeneration->year_end.')';
        $string .= ' '.$this->name;

        return $string;
    }
}

##Лицензия

Данный пакет (не включая базу данных) является открытым кодом под лицензией MIT license.

About

The package allows you to access data through the base car by model

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages