我在服务器上有一个虚拟机,我将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');
}
我不知道有什么用,所以只问您是否需要任何信息。
答案 0 :(得分:1)
在项目模型中添加此代码,以在删除项目之前删除相关任务:
protected static function boot ()
{
parent::boot();
static::deleting (function ($project) {
$project->tasks()->delete();
});
}