在级联上删除在虚拟机上不起作用

时间:2019-05-07 12:01:30

标签: php laravel command-line mariadb

我在服务器上有一个虚拟机,我将laravel项目文件夹上传到了其中。

因此,在我的本地主机中,当我删除“项目”时,它会删除附加到该项目的所有“任务”,但这在vm上不起作用,刷新页面时只会出现错误

Trying to get property of non-object

在我的本地主机上,我使用xampp。

在ProjectController上删除函数

public function destroy(Project $project)
    {
        $project->delete();
        return redirect('/projects')->with('delete','');
    }

项目模型:

public function tasks (){
        return $this->hasMany('App\Task','proj_id');
    }

任务模型:

public function project(){

        return $this->belongsTo('App\Project','proj_id');
    }

我不知道有什么用,所以只问您是否需要任何信息。

1 个答案:

答案 0 :(得分:1)

项目模型中添加此代码,以在删除项目之前删除相关任务:

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

    static::deleting (function ($project) {
        $project->tasks()->delete();
    });
}