Laravel 5.1には、次の表が設定されているアプリケーションがあります。Laravel 5.1行が削除されたときのサブリレーションシップデータの削除
- タイムシート
- 行
- day_total
- segment_totals
行は、タイムシートに属します。 日合計はタイムシートに属します。 セグメント合計は行に属します。
タイムシートが削除されると、私もそれがtimesheet
テーブル自体からrow
、day_total
とsegment_total
からの行だけでなく、行を削除したいです。
私はtimesheet
モデルで次のブート方法を設定しました。
/**
* Boot the model.
*
*/
public static function boot()
{
parent::boot();
static::deleting(function($timesheet)
{
$timesheet->row()->delete();
$timesheet->dayTotal()->delete();
});
}
私はrow
モデルで次のように設定しました。タイムシートを削除すると
/**
* Boot the model.
*
*/
public static function boot()
{
parent::boot();
static::deleting(function($row)
{
$row->day()->delete();
$row->segmentTotal()->delete();
});
}
は、row
とdayTotal
行が削除されますが、day
とsegmentTotals
は削除されません。 row
モデルでLaravelを削除するにはどうすればよいですか?
あなたはあなたのエンティティとの関係を投稿してください可能性がありMYSQLではお互いに関係がありませんか? – Cowwando