Мне нужно защищать столбец идентификатора при вставке в базу данных, однако я не хочу защищать его при вставке в другую базу данных из-за необходимости вручную устанавливать идентификатор, чтобы таблицы были синхронизированы.
Однако я не могу найти способ сделать это, ниже приведено то, что я получил в данный момент, однако это не работает вообще, поскольку я просто получаю сообщение об ошибке:
Поле 'id' не имеет значения по умолчанию
Это моя текущая модель:
<?php
namespace App\Models\Seasonal;
use Illuminate\Database\Eloquent\Model;
class SeasonalBanner extends Model
{
protected $connection = 'dev';
protected $guarded = [ 'id' ];
protected $appends = [ 'period' ];
public static function boot()
{
parent::boot();
self::creating(function($model){
if ($model->connection === 'live') {
$model->guarded = [];
}
});
}
public function dates() {
return $this->hasMany(SeasonalBannerDates::class);
}
public function getPeriodAttribute() {
return [ $this->start, $this->end ];
}
}