Ребят здравствуйте подскажите пожалуйста 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);
// дальше делайте что хотите
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я только осваиваю язык, просьба не пинать если чтоЯ получаю данные из SQL в такой массив
мне нужно сделать фильтр меток на карте используя Yandex map APIВопрос заключается в том что нужно вывести данные из базы и потом используя фильтры...