dongyu7074 2015-10-27 14:49
浏览 84

雄辩的启动不仅仅针对一个类激活

I'm using eloquent for a project and I would like to delete articles. The problem is that the database is complicated. There are articles, that have article_lvl1 and article_lvl1 have article_lvl2. When I delete an article the event functions work fine :

<?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';
}

But an article can also have article_Informations, which can have article_Date. My problem is that everything in the boot functions executes fine on delete, but not the article_Date. Here is the code :

<?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';
}

I don't know why, it's the only event that is not fired on delete. Can someone explain me ?

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 求帮我调试一下freefem代码
    • ¥15 R语言Rstudio突然无法启动
    • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
    • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
    • ¥15 用windows做服务的同志有吗
    • ¥60 求一个简单的网页(标签-安全|关键词-上传)
    • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
    • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
    • ¥100 为什么这个恒流源电路不能恒流?
    • ¥15 有偿求跨组件数据流路径图