我有一个数据表:

Schema::create('general', function (Blueprint $table) {
  $table->id();
  $table->string('key')->unique();
  $table->longText('value')->nullable();
  $table->timestamps();
});

添加数据时,我在数据库中获得以下记录:

id: 2
key: country
value: ["Italy","Germany"]

国家现在通过标签添加到我的身上,如下所示:

$form->tags('value', __('Value'))->help('Use key `<b>Enter</b>` to add a new value')
  ->separators([';']);

该模型具有接收所有值​​并与关键国家/地区共享的功能:

public static function getCountries()
    {
        $country= self::where('key', 'country')->first();

        return explode(',', $country['value']);
    }

然后在blade.php页面上显示以下国家/地区:

@foreach(App\Models\General::getCountries() as $country)
  <span>{{ $country }}</span>
@endforeach

任务是给每个国家挂上一幅带有国旗的图片.

我使用迁移创建了一个新模型,以添加一张图片:

Schema::create('general_flags', function (Blueprint $table) {
  $table->id();
  $table->string('flag_image', 128);
  $table->timestamps();
});

我的控制器都正确地完成了操作,并且添加和保存了图片.

主要问题是如何从数组中创建每个值与所需标志的关系,有什么 idea 吗?

问题是,我不能改变添加国家,所以我必须利用我拥有的.

推荐答案

您可以在名为country_codegeneral_flags中创建新的列,然后在general中保存COUNTRIES_ARRAY时将其另存为关联数组['country_code' => 'country name']. 或将图像保存为关联数组['country_code' => 'Image'].
但是,在我看来,你应该为各国摆桌子,每个国家都有一面旗帜.

Php相关问答推荐

如何限制WordPress自定义分类术语页面中的术语数量

添加登录:需要app.yaml仍然允许所有拥有Google帐户的人访问

htaccess重命名index.php以在URL中显示为SEO的友好名称

在Laravel中创建辅助函数时的约定

根据WooCommerce的定制订单状态增加产品库存

无法在 WordPress 上获取 JSON 数据

invalid_grant 和无效的 JWT 签名

WooCommerce 按产品运输插件:仅收取较高的运输费用

htaccess Rewriterule 无法以任何方式工作

如何在WooCommerce管理产品列表中显示运输类别列

WooCommerce checkout 流程中基于所选选项添加自定义费用

MySQLI bind_param导致的Cannot modify readonly property错误

我怎样才能在 .htaccess 中有 2 个参数?

是否有适用于 Windows 的真正 64 位版本的 PHP 5.6?

PHP 自动函数参数和变量

获取具有所有特定相关模型的模型

用于多态服务的 Symfony setter 注入

如何使用 php 删除 google drive 共享驱动器文件夹中的文件?

如何在不复制的情况下在php中重新索引数组

Laravel 不会在回滚或刷新时删除表