красноречивая загрузка не стреляет только для одного класса

Я использую eloquent для проекта, и я хотел бы удалить статьи. Проблема в том, что база данных сложна. Есть статьи, которые имеют article_lvl1 и article_lvl1 имеют article_lvl2. Когда я удаляю статью, функции событий работают нормально:

<?php
namespace app\model;

class Article extends \Illuminate\Database\Eloquent\Model
{
public static function boot()
{
parent::boot();

// cause a delete of a product to cascade to children so they are also deleted
static::deleting(function($article)
{
$article->ArticleNiveau1()->delete();
$article->ArticleNiveau2()->delete();
});
}

public function ArticleNiveau1()
{
return $this->hasMany('app\model\ArticleNiveau1', 'id_article');
}

public function ArticleNiveau2()
{
return $this->hasMany('app\model\ArticleNiveau2', 'id_article');
}

protected $table = 'Article';
public $timestamps = false;
protected $primaryKey = 'id_article';
}

Но статья может также иметь article_Informations, которая может иметь article_Date. Моя проблема в том, что все в загрузочных функциях работает нормально при удалении, но не article_Date. Вот код:

<?php
namespace app\model;

class Article_Informations extends \Illuminate\Database\Eloquent\Model
{
public function Article()
{
return $this->belongsTo('app\model\Article', 'id_article');
}

public function ArticleNiveau1()
{
return $this->belongsTo('app\model\ArticleNiveau1', 'id_nv1');
}

public function ArticleNiveau2()
{
return $this->belongsTo('app\model\ArticleNiveau2', 'id_nv2');
}

public function Article_Date()
{
return $this->hasMany('app\model\Article_Date', 'id_info');
}

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

// cause a delete of a product to cascade to children so they are also deleted
static::deleting(function($info)
{
$info->Article_Date()->delete();
});
}

protected $table = 'Article_Informations';
public $timestamps = false;
protected $primaryKey = 'id_info';
}

Я не знаю почему, это единственное событие, которое не запускается при удалении.
Может кто-нибудь объяснить мне?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]