我收到以下错误。
SQLSTATE[HY000]:一般错误:1364 字段"代码"没有 默认值 (SQL: 插入
coupons
(updated_at
,created_at
( 数值 (2019-12-23 14:06:02, 2019-12-23 14:06:02((
我做了一些调试,看到它来自以下代码块,但不知道为什么。
if ($customer && is_null($customer->referral_code)) {
$coupon = new Coupon;
$coupon->generateReferralCoupon($customer);
$coupon->save();
$customer->referral_code = $coupon->code;
$customer->save();
}
添加referral_code
的迁移如下所示。
class AddReferralInfoToShopUsersTable extends Migration
{
public function up()
{
Schema::table('shop_users', function (Blueprint $table) {
$table->text('referral_code')->nullable();
$table->integer('referral_uses')->nullable();
$table->integer('referral_revenue')->nullable();
$table->index(['referral_code']);
});
}
}
查看错误代码,您似乎错过了对code
属性的赋值,或者您没有code
放入模型中Coupon
可填充数组中。
所以很有可能不是:
$coupon->generateReferralCoupon($customer);
您应该使用:
$coupon->code = $coupon->generateReferralCoupon($customer);