programing

가상 시스템에서 작동하지 않는 캐스케이드에서 삭제

closeapi 2023. 11. 7. 20:53
반응형

가상 시스템에서 작동하지 않는 캐스케이드에서 삭제

제 라라벨 프로젝트 폴더를 업로드한 서버에 가상 머신이 있습니다.

따라서 로컬 호스트에서 "프로젝트"를 삭제하면 해당 프로젝트에 연결된 모든 "태스크"가 삭제되지만 VM에서는 작동하지 않으며 페이지를 새로 고치면 오류만 발생합니다.

Trying to get property of non-object

로컬 호스트에서는 xampp를 사용합니다.

Project Controller의 Delete 함수:

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

뭐가 도움이 될지 모르니까 필요한 정보가 있으면 물어보세요.

프로젝트 모델에 이 코드를 추가하여 프로젝트를 제거하기 전에 관련 작업을 제거합니다.

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

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

언급URL : https://stackoverflow.com/questions/56022170/delete-on-cascade-not-working-on-virtual-machine

반응형