Я создаю простое веб-приложение для управления проектами, и у меня в качестве движка таблиц используется InnoDB, и, очевидно, я не могу удалить «компанию», владеющую хотя бы проектом, поэтому я попытался разобраться с этим делом с помощью отображения соответствующих сообщений об ошибках. .
Моя цель - показать пользователю, что компания не может быть удалена, если у компании есть проекты, и мне это удалось, за исключением того, что, когда я удалила все проекты этой конкретной компании из базы данных, я все еще получить то же сообщение "У компании есть проекты ..."
*/
public function destroy(Company $company)
{
$current = Company::find($company->id);
if($current !== null){
$companiesProjects = $current->projects;
if($companiesProjects === null){
if($current->delete()){
return redirect()->route('companies.index')
->with('success', 'Company has been successfully deleted!');
}
}else{
return back()->withInput()->with('errors', 'Company has projects... it can\'t be deleted!');
}
}else{
return back()->withInput()->with('errors', 'Company does not exist!');
}
return back()->withInput()->with('errors', 'Company could not be deleted!');
}
}
Я попробовал другое решение, которое заключается в использовании объекта Project внутри функции после добавления его пространства имен к контроллеру ресурсов, но, к несчастью, мой php-сервер перестает работать, и мой компьютер перестает отвечать, и у меня нет другого выбора, кроме перезагрузки компьютера
public function destroy(Company $company, Project $project)
{
$current = Company::find($company->id);
if($current !== null){
$companiesProjects = Project::where('company_id', $company->id);
if($companiesProjects === null){
/* if($current->delete()){
//return redirect()->route('companies.index')
//->with('success', 'Company has been successfully deleted!');
}*/
echo 'null';
}else{
//return back()->withInput()->with('errors', 'Company has projects... it can\'t be deleted!');
}
}else{
//return back()->withInput()->with('errors', 'Company does not exist!');
}
//return back()->withInput()->with('errors', 'Company could not be deleted!');
}
Я только следую за видео курсом, и я потерялся в документе.