otifsolutions/currency-layer

此Laravel包提供了与Currency Layer Api的简单集成,并包含了带有国旗信息的国家完整列表。它还包含自动同步每种货币汇率的命令。

v1.0.1 2022-05-28 07:51 UTC

This package is auto-updated.

Last update: 2024-09-08 06:24:06 UTC


README

Laravel Currency Layer

此Laravel包提供了与Currency Layer Api的简单集成,并包含了带有国旗信息的国家完整列表。它还包含自动同步每种货币汇率的命令。

需求

PHP >= 7.4

Laravel >= 8.0

如何使用此库

通过 Composer 安装(推荐)

使用Composer

composer require otifsolutions/currency-layer

注意

此包与数据库引擎 myIsam 一起工作。如果您正在使用 mysql 数据库,则必须将数据库引擎从 config/database.php -> 'connection' => 'mysql' 修改为 'engine' => 'myIsam'

现在,运行迁移

php artisan migrate

然后,运行以下命令以填充所有表格中的国家、州、货币等数据

php artisan fill:tables

现在按照以下说明进行操作

CurrencyLayer 上注册以获取访问密钥,使用 artisan tinker 或在任何代码中写入此行,其中 yourAccessKey(字符串)是从API获取的密钥

OTIFSolutions\Laravel\Settings\Models\Setting::set('crlKey', 'yourAccessKey');

设置 numberOfDays 密钥(正整数),这是要保留的天数数据

OTIFSolutions\Laravel\Settings\Models\Setting::set('daysRates', numberOfDays);

注意

要检查您设置了哪个密钥,尝试使用 get 方法,如下所示

OTIFSolutions\Laravel\Settings\Models\Setting::get('daysRates');

OTIFSolutions\Laravel\Settings\Models\Setting::get('crlKey');

如果您在代码中某处设置了 crlKey,则第一次执行后删除该行。要重置或重新分配密钥,可以使用相同的行。但,建议使用tinker设置访问密钥。

设置完所有内容后,现在您可以同步货币汇率数据

执行此命令以获取汇率

php artisan rates:get

执行此命令以删除汇率

php artisan rates:delete

现在从包中将国家国旗发布到您的项目中

php artisan publish:flags

注意

命令 rates:deleterates:get 只能在设置密钥 crlKeydaysRates 后执行

在模型之间定义的关系

模型 CountryCurrencyOneToOne 关系,与 TimezoneManyToMany 关系,与 StateOneToMany 关系。

State 模型与 CityOneToMany 关系

Currency 模型与 CurrencyRateOneToMany 关系