我试图将序列化的对象存储到Laravel中的数据库表中。我想将其保存为LONGBLOB,但是Laravel不支持蓝图,只允许我另存为BLOB equivalent的binary()
。
在我的迁移过程中,看起来像这样:
public function up()
{
Schema::create('platforms', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->string('name');
$table->binary('classifier');
$table->integer('steps')
->default(10000);
$table->timestamps();
});
}
当我尝试将序列化的对象保存到数据库中时,就像这样:
protected function storeClassifier($blob, $ainame) {
DB::table('platforms')->insert(
[
'user_id' => \Auth::user()->id,
'name' => $ainame,
'classifier' => $blob
]
);
}
我收到此错误:
SQLSTATE [22001]:字符串数据,右截断:1406第1行的列'classifier'的数据太长
如何在迁移过程中为分类器创建LONGBLOB列?完整的对象序列化了looks like this(非常大)。