我正在使用模型工厂来填充模型CouponRule
:
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
class CouponRuleFactory extends Factory
{
public function definition()
{
return [
'coupon_id' => 286,
'coupon_rule_type_id' => 8,
'data' => "{'min': 100}",
'created_at' => now(),
'updated_at' => now(),
];
}
}
当我使用CouponRule::factory()->create()
创建一个新示例时,数据值在我的数据库中被括在引号中:
"{'min': 100}"
数据字段定义为text()
:
Schema::create('coupon_rules', function (Blueprint $table) {
//...
$table->text('data');
//...
});
我已经确认它 * 是 * 用引号 Package 的(不仅仅是数据库工具DataGrip如何呈现它),方法是使用MariaDB CLI检查,并直接在数据库中删除值的引号-这导致它按预期显示。
版本:
- 第10.7.3节.
- 拉腊维尔2018年8月3日
1条答案
按热度按时间3pvhb19x1#
我认为您正在寻找一个NoSQL概念,您可以将对象嵌套在列中。您仍然可以在SQL中执行此操作,但您必须在服务器端以JSON编码格式编写它(用“” Package )。在LARAVEL中,您可以使用json_decoce($value)对其进行解码,以获取值