Ребят здравствуйте подскажите пожалуйста 1 вопрос есть пара статей в базе, Мне нужно при заходе на роут получить объект статьи по id и после этого удалить статью. Если статьи с таким id нет, то выдавать соответствующее сообщение. Если же статья была, то вывести объект с помощью var_dump после удаления.
Роут добавил,Метод в абстрактном классе (получение id статьи добавил), в контролере метод написал, Но работает совсем не так как нужно, он удаляет статьи если в методе контроллера указывать id напрямую так
public function delete(): void
{
$article = Article::getById(7);
if ($article == $id) {
echo 'Статья удалена';
} $article->delete();
var_dump($article);
}
но мне нужно что-бы статьи удалялись в зависимости от того какой id вводишь в адресной строке сейчас пишу так, то есть если такой id есть удалять статью если нет выводить сообщение о том что такой статьи нет в базе Но так он не хочет работать и статью не удаляет из базы не совсем понимаю что делать дальше так как только учусь
public function delete($id): void
{
$article = Article::getById($id);
if ($article == $id) {
echo 'Статья удалена';
} $article->delete();
var_dump($article);
}
полностью код из всех файлов
файл ArticleController.php https://sharecodesnippet.com/163
файл routes.php https://sharecodesnippet.com/164
файл ActiveRecordEntity.php https://sharecodesnippet.com/165
Вот у вас в роутах реализуется просмотр:
'~^articles/(\d+)$~' => [\MyProject\Controllers\ArticlesController::class, 'view'],
Что здесь указано? Здесь указано что некий урл вида articles/(\d+)
связан с методом view
контроллера. Знаете, что такое (\d+)
? Это регулярное выражение. Не вдаваясь в подробности регулярок и как реализована передача параметра в контроллер, работает это так: по шаблону регулярки (\d+)
из урла выцепляется ИД и передается как аргумент в метод view(int $articleId)
.
Следовательно, вам нужно сделать что? Нарисовать схожий шаблон урла в роутах:
'~^articles/delete/(\d+)$~' => [\MyProject\Controllers\ArticlesController::class, 'delete'],
И объявить метод delete
как:
public function delete(int $id): void
{
var_dump($id);
// дальше делайте что хотите
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Я только осваиваю язык, просьба не пинать если чтоЯ получаю данные из SQL в такой массив
мне нужно сделать фильтр меток на карте используя Yandex map APIВопрос заключается в том что нужно вывести данные из базы и потом используя фильтры...