Laravel: ошибка SQL при использовании блока кода для установки поля на объекте customer

Laravel: ошибка SQL при использовании блока кода для установки поля на объекте customer

23.12.2019 11:09:27 Просмотров 35 Источник

Я получаю следующую ошибку.

SQLSTATE[HY000]: общая ошибка: 1364 поле " код " не имеет значение по умолчанию (SQL: insert into 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']);
        });
    }
}
У вопроса есть решение - Посмотреть?

Ответы - Laravel: ошибка SQL при использовании блока кода для установки поля на объекте customer / Laravel: SQL error when using block of code to set field on customer object

Является ответом!
Marcin Nabiałek

23.12.2019 11:30:12

Глядя на код ошибки, кажется, что вы пропустили присвоение codeв заполняемый массив в code

вы должны использовать:

Coupon
https://stackoverflow.com/questions/59460825/laravel-sql-error-when-using-block-of-code-to-set-field-on-customer-object/59461016#comment105103517_59461016
вот оно что! спасибо @marcin
Закрыть X