Удалить на каскаде не работает на виртуальной машине - PullRequest
1 голос
/ 07 мая 2019

У меня есть виртуальная машина на сервере, на который я загрузил папку проекта laravel.

Таким образом, на моем локальном хосте, когда я удаляю «проект», он удаляет все «задачи», связанные с этим проектом, но этоне работает на виртуальной машине, он просто выдает ошибку при обновлении страницы

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 Ответ

1 голос
/ 08 мая 2019

Добавьте этот код в Модель проекта для удаления связанной задачи перед удалением проекта:

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

    static::deleting (function ($project) {
        $project->tasks()->delete();
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...