laravel级联无法正常工作?

杰米

我正在使用laravel构建售票系统。但是,当我取出一张票时,反应不会消失吗?

这是我对数据透视表的迁移:

public function up()
    {
        Schema::create('reactions_ticket',function(Blueprint $table)
            {
                $table->integer('ticket_id')->unsigned();
                $table->foreign('ticket_id')->references('id')->on('ticket')->onDelete('cascade');
                $table->integer('reactions_id')->unsigned();
                $table->foreign('reactions_id')->references('id')->on('reactions')->onDelete('cascade');
            });
    }

这是我的反应表:

 public function up()
    {
        Schema::create('reactions',function(Blueprint $table)
            {
                $table->increments('id');
                $table->integer('user_id')->unsigned();
                $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
                $table->text('content');
                $table->timestamps();
            });
    }

和我的票表:

   public function up()
        {
            Schema::create('ticket',function(Blueprint $table)
            {
                $table->increments('id');
                $table->string('slug')->nullable();

                $table->integer('ticketid')->unsigned();

                $table->integer('user_id')->unsigned();
                $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

                $table->integer('subject_id')->unsigned();
                $table->foreign('subject_id')->references('id')->on('subject')->onDelete('cascade');

                $table->integer('websites_id')->unsigned();
                $table->foreign('websites_id')->references('id')->on('websites')->onDelete('cascade');

                $table->integer('status_id')->unsigned();
                $table->foreign('status_id')->references('id')->on('status')->onDelete('cascade');

                $table->text('content');
                $table->timestamps();
            });
        }

我在做什么错>?

戈登·弗里曼

我总是喜欢自己处理此类操作,而不是让MySQL执行id。

您可以在Ticket模型中使用laravels事件处理程序

protected static function boot() {
    parent::boot();
    static::deleting(function($ticket) {
        // delete related stuff ;)
        $reaction_ids = $ticket->reactions()->lists('id');
        Reaction::whereIn($reaction_ids)->delete();
    });
}

因此,您仍然拥有(如果需要)软删除和更多控制的优势。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

级联删除无法正常工作

来自分类Dev

Android Room onDelete级联无法正常工作

来自分类Dev

级联阴影贴图无法正常工作

来自分类Dev

laravel firstOrCreate无法正常工作?

来自分类Dev

Laravel或无法正常工作的地方

来自分类Dev

Laravel WKHTMLTOPDF无法正常工作

来自分类Dev

Laravel路由无法正常工作

来自分类Dev

Laravel Collection无法正常工作

来自分类Dev

laravel gulp无法正常工作

来自分类Dev

Laravel Routes 无法正常工作

来自分类Dev

laravel 4的cron工作无法正常工作

来自分类Dev

WhereBetween在Laravel中无法正常工作

来自分类Dev

Laravel Eloquent-$ fillable无法正常工作?

来自分类Dev

laravel:PHP工匠无法正常工作

来自分类Dev

Laravel宅基地无法正常工作

来自分类Dev

Laravel 5链接无法正常工作

来自分类Dev

Laravel-工匠无法正常工作

来自分类Dev

Laravel 4 + AJAX无法正常工作

来自分类Dev

Laravel:表单验证无法正常工作

来自分类Dev

Laravel 5邮件队列无法正常工作

来自分类Dev

Laravel 5范围无法正常工作

来自分类Dev

Laravel MySQL where封闭无法正常工作

来自分类Dev

Laravel hasMany关系无法正常工作

来自分类Dev

简单的Laravel View :: make()无法正常工作

来自分类Dev

Laravel 5与委托-hasRole无法正常工作

来自分类Dev

刀片if(isset)无法正常工作Laravel

来自分类Dev

Laravel 5漂亮的URL无法正常工作

来自分类Dev

Laravel 5.1 in_array无法正常工作?

来自分类Dev

Laravel 5.2-登录无法正常工作