У меня не выводиться новость на странице. Выводиться ошибка
Notice: Undefined index: id in D:\OpenServer\domains\mvc-oop\mvc-oop\www\controllers\News.php on line 21
Notice: Undefined offset: 0 in D:\OpenServer\domains\mvc-oop\mvc-oop\www\classes\AbstractModel.php on line 40
Warning: Invalid argument supplied for foreach() in D:\OpenServer\domains\mvc-oop\mvc-oop\www\views\news\one.php on line 1
В controllers/News.php есть функция actionOne()
<?php
namespace Application\Controllers;
use Application\Models\News as NewsModel;
class News{
public function actionAll()
{
$news = NewsModel::findAll();
$view = new \View();
$view->items = $news;
$view->display('news/all.php');
}
public function actionOne()
{
$id = $_GET['id'];
$newsById = NewsModel::findOneByPk($id);
$view = new \View();
$view->items = $newsById;
$view->display('news/one.php');
}
}
А в AbstractModel есть:
public static function findOneByPk($id)
{
$class = get_called_class();
$sql = 'SELECT * FROM ' . static::$table . ' WHERE id=:id';
$db = new DB();
$db->setClassName($class);
return $db->query($sql, [':id' => $id])[0];
}
а в самом view/one.php
<?php foreach ($items as $item): ?>
<h1><?php echo $item->title; ?></h1>
<div><?php echo $item->author; ?></div>
<?php endforeach; ?>
Не пойму что делаю не так, почему у меня не показывает новость по id?