在Laravel5.2(PHP)中,如何在数据库表的单个列中添加数组,以及在同一数组列中添加新项
我正在处理一个项目。在该项目中,我有一个带有id、catid、SUBACT和status列的子类别表。我必须在单个列(SUBAT)中添加一个数组。现在的问题是如何在表的单个列中添加数组。我必须在以后存储数组的那一行中添加更多项。。。like(插入到tablename中,其中id=$id) 所以请告诉我如何在表的单列中添加一个数组,并更新该数组以供进一步使用。 谢谢在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检
关于我不建议您这样做,但您可以使用例如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');
}
}