bigperson / auto-base-buy
The package allows you to access data through the base car by model
Installs: 3 435
Dependents: 0
Suggesters: 0
Security: 0
Stars: 17
Watchers: 4
Forks: 5
Open Issues: 0
Requires
- php: ^5.6 || ^7.0 || ^8.0
This package is auto-updated.
Last update: 2024-11-07 23:56:29 UTC
README
Данный пакет позволяет удобно использовать базу данных автомобилей в ваших проектах, реализовывать поисковые подсказки, привязку автомобиля к вашим моделям и т.д.
В пакет входит только пример структуры базы, сама база автомобилей не входит в пакет, а приобретается отдельно на сайте 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.