在laravel 5.2(PHP)中,如何在数据库表的单列中添加数组,并在同一数组列中添加新项


how to add array in a single column in database table and also a new item in same array column in laravel 5.2(PHP)

我正在做一个项目。在这个项目中,我有一个子类别表,其中有id、catid、subcat和status列。我必须在一列中添加一个数组(subcat)。现在的问题是如何在表的单列中添加数组。我必须在将来存储数组的那一行中添加更多项。。。类似(插入表名___________________,其中id=$id)。。

所以plz告诉我如何在表的单列中添加一个数组,并更新该数组以备将来使用。谢谢关于

我不建议您这样做,但您可以使用例如json编码对该数组进行编码,并将该字符串存储在该列中。这样做的缺点是,如果不从数据库中重新检索该数组并将其解码为php数组,就无法更新该数组的"项"。我建议你看看MySQL 5.7,那里支持该功能。https://dev.mysql.com/doc/refman/5.7/en/json.html

我建议使用外键来实现这一点。见下表模式:

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_category_id引用了categories表的category_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');
    }
}