gpt4 book ai didi

php - 拉拉维尔 5 : cascade soft delete

转载 作者:行者123 更新时间:2023-12-02 06:13:30 25 4
gpt4 key购买 nike

我有报价服务表。

服务是优惠的子项。到目前为止,我已经建立了软删除报价的功能。我如何软删除附加服务?这是我的代码:

迁移优惠

Schema::create('offers', function(Blueprint $table)
{
$table->increments('id')->unsigned();
...
$table->timestamps();
$table->softDeletes();
});

迁移服务

Schema::create('services', function(Blueprint $table) 
{
$table->increments('id');
$table->integer('offer_id')->unsigned();
...
$table->timestamps();
$table->softDeletes();
});

Schema::table('services', function($table)
{
$table->foreign('offer_id')
->references('id')
->on('offers');
});

型号报价

use SoftDeletes;
protected $dates = ['deleted_at'];

public function services() {
return $this->hasMany('App\Service');
}

模型服务

public function offer() {
return $this->belongsTo('App\Offer');
}

删除方法

public function destroy($id)
{
$offer = Offer::find($id);
$offer->delete();
}

感谢您的所有帮助。

最佳答案

我已将此代码放入 Offer 模型中:

protected static function boot() {
parent::boot();

static::deleting(function($offer) {
$offer->services()->delete();
});
}

并添加了缺失的内容

use SoftDeletes;
protected $dates = ['deleted_at'];

在服务模型中。

关于php - 拉拉维尔 5 : cascade soft delete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31456804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com