bigperson / auto-base-buy
此包允许您通过车型访问基础汽车数据
1.0.2
2022-03-07 18:05 UTC
Requires
- php: ^5.6 || ^7.0 || ^8.0
This package is auto-updated.
Last update: 2024-09-07 23:29:20 UTC
README
此包允许您方便地在项目中使用汽车数据库,实现搜索提示,将汽车绑定到您的模型等。
此包仅包含数据库结构的示例,实际的汽车数据库不包括在内,需要单独在网站 https://auto.basebuy.ru/ 购买。
目前此包 不支持 汽车特性以及 Basebuy.ru 数据库的 REST API。
内容
- 安装
- 导入数据库
- 使用
安装
您可以使用 composer 安装此包。
composer require bigperson/auto-base-buy
导入汽车数据库
首先,需要在数据库中创建必要的表格,可以使用 artisan 命令从包中导入迁移文件。
php artisan vendor:publish --tag=migrations --provider="Bigperson\AutoBaseBuy\AutoBaseBuyServiceProvider"
之后,应用迁移。
php artisan migrate
然后,导入种子文件。
php artisan vendor:publish --tag=seeds --provider="Bigperson\AutoBaseBuy\AutoBaseBuyServiceProvider"
接下来,重新生成 autoload.php:使用命令 composer dump-autoload
在 database/csv/* 目录下会创建用于导入的 csv 文件。购买后,需要用原始文件替换这些文件,可以在 https://auto.basebuy.ru/ 购买。
接下来,应用种子文件。
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 许可证。