首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在具有laravel迁移的单列中存储带值的多个整数键

如何在具有laravel迁移的单列中存储带值的多个整数键
EN

Stack Overflow用户
提问于 2022-03-09 18:45:09
回答 2查看 329关注 0票数 1

在反馈表中将有一个整数列。

用户可以输入1,4,5作为反馈。如何设计这一栏在拉拉迁移?

我想到的是json列,它不符合我的整数列的目的。

EN

回答 2

Stack Overflow用户

发布于 2022-03-09 18:56:11

您可以在迁移中使用json列,或者必须移动到透视表。

代码语言:javascript
复制
$table->json('json_column_name');

之后,如果您需要使用它的关系,则可以使用包。

票数 1
EN

Stack Overflow用户

发布于 2022-03-09 19:13:58

如果不想使用多对多的关系,只需将列设为整数,并使用模型来控制列的存储方式。

代码语言:javascript
复制
class Feedback extends Model{
   /**
   * list of types
   */
   const TYPES = [
       self::LEADERSHIP => 'Leadership',
       self::BOLDNESS => 'Boldness',
       self::EXTERNAL_MIND => 'External mind',
       ...
   ];

   // Define constants
   const LEADERSHIP = 1;
   const BOLDNESS = 2;
   const EXTERNAL_MIND = 3;
   ...
}

迁徙

代码语言:javascript
复制
use App\Models\Feedback;
...
Schema::create('feedbacks', function (Blueprint $table) {
    $table->id();
    ...
    $table->tinyInteger('type')->default(Feedback::LEADERSHIP);
});

用于验证

代码语言:javascript
复制
use Illuminate\Validation\Rule;
use App\Models\Feedback;
...
Validator::make($data, [
    'type' => [
        'required',
        Rule::in(Feedback::TYPES),
    ],
]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71414525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档