【发布时间】:2018-06-19 10:02:30
【问题描述】:
我正在尝试从 created 模型事件中保存一个字段,但由于某种原因,stripe_coupon_id 列从未被保存。 created 事件确实像我通过在其中尝试 dd 所测试的那样运行,它确实触发了该事件,但只是不保存该列。
class DiscountRate extends Model
{
public $table = "discount_rates";
public $primaryKey = "id";
public $timestamps = true;
public $fillable = [
'id',
'name',
'rate',
'active',
'stripe_coupon_id'
];
public static function boot()
{
parent::boot();
self::created(function ($discountRate) {
$coupon_id = str_slug($discountRate->name);
$discountRate->stripe_coupon_id = $coupon_id;
});
}
}
在我的控制器中,我只是调用了一个服务函数,该函数调用了默认的 Laravel 模型创建函数:
public function store(DiscountRateCreateRequest $request)
{
$result = $this->service->create($request->except('_token'));
if ($result) {
return redirect(route('discount_rates.edit', ['id' => $result->id]))->with('message', 'Successfully created');
}
}
discount_rates表:
【问题讨论】:
-
$discountRate->save() 设置后你试过了吗?
标签: php laravel events orm eloquent