在Laravel5.2(PHP)中,如何在数据库表的单个列中添加数组,以及在同一数组列中添加新项

在Laravel5.2(PHP)中,如何在数据库表的单个列中添加数组,以及在同一数组列中添加新项,php,mysql,laravel,laravel-5.2,Php,Mysql,Laravel,Laravel 5.2,我正在处理一个项目。在该项目中,我有一个带有id、catid、SUBACT和status列的子类别表。我必须在单个列(SUBAT)中添加一个数组。现在的问题是如何在表的单个列中添加数组。我必须在以后存储数组的那一行中添加更多项。。。like(插入到tablename中,其中id=$id) 所以请告诉我如何在表的单列中添加一个数组,并更新该数组以供进一步使用。 谢谢 关于我不建议您这样做,但您可以使用例如json encode对该数组进行编码,并将该字符串存储在该列中。这样做的缺点是,若不从db检

我正在处理一个项目。在该项目中,我有一个带有id、catid、SUBACT和status列的子类别表。我必须在单个列(SUBAT)中添加一个数组。现在的问题是如何在表的单个列中添加数组。我必须在以后存储数组的那一行中添加更多项。。。like(插入到tablename中,其中id=$id)

所以请告诉我如何在表的单列中添加一个数组,并更新该数组以供进一步使用。 谢谢
关于

我不建议您这样做,但您可以使用例如json encode对该数组进行编码,并将该字符串存储在该列中。这样做的缺点是,若不从db检索该数组并将其解码到php数组,就无法更新该数组的“项”。我建议您看看MySQL 5.7,它支持该功能

我建议使用外键来实现这一点。请参见下表架构:

mysql> describe categories;
+--------------------+-------------+------+-----+-------------------+----------------+
| Field              | Type        | Null | Key | Default           | Extra          |
+--------------------+-------------+------+-----+-------------------+----------------+
| category_id        | int(11)     | NO   | PRI | NULL              | auto_increment |
| category_name      | varchar(50) | NO   |     | NULL              |                |
| sub_category_id    | int(11)     | YES  |     | 0                 |                |
| created_at         | timestamp   | YES  |     | CURRENT_TIMESTAMP |                |
| updated_at         | timestamp   | YES  |     | CURRENT_TIMESTAMP |                |
+--------------------+-------------+------+-----+-------------------+----------------+
这里是您的
sub\u category\u id
categories
表的
category\u id
的引用
这也将允许您在子类别中有多个级别。
类别模型:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;


class Category extends Model
{
    protected $primaryKey = 'category_id';
    protected $fillable = array(''category_name'sub_category_id');

    public function Sub_Category(){
        return $this->hasOne('App\Models\category','sub_category_id','category_id');
    }

}