Не могу понять, как это исправить! Не выполняет итерацию по массиву того, что поступает из базы данных, хотя я делаю var_dump $row, и есть массив всех данных из базы данных, но я повторяю этот массив, и он пишет мне
Warning: Illegal string offset 'name'
Что делать? Помогите!!!!
Вот код моего View:
<?php require_once('./views/layout/header.php'); ?>
<div class="page">
<section class="feed">
<h2>Лента</h2>
<?php if (isset($row) && is_array($row)): ?>
<?php foreach ($row as $feed): ?>
<?php var_dump($feed); ?>
<div class="feed__container">
<img src="../../assets/image/<?php echo $feed['image']; ?>">
<div class="name_feed"><a href="/feed/article/<?php echo $feed['uid']; ?>"><?php echo $feed['name']; ?></a></div>
</div>
<?php endforeach; ?>
<?php endif; ?>
<?php echo $pagination->get(); ?>
</section>
</div>
<?php require_once('./views/layout/footer.php'); ?>
Вот код моей модели:
<?php
class Feed
{
public static function getAllFeed($page = 1) {
$page = intval($page);
$offset = ($page - 1) * 3;
$db = Db::getConnection();
$sql = "SELECT id, name, image, uid FROM feed LIMIT 3 OFFSET $offset";
$result = $db->query($sql);
if ($result) {
$row = $result->fetch();
return $row;
}
}
}
Вот код моего контроллера:
<?php
class FeedController
{
public function actionIndex($page = 1) {
$userId = User::checkLogged();
$user = User::getUserById($userId);
$row = array();
$row = Feed::getAllFeed($page);
$total = Feed::getTotal();
$pagination = new Pagination($total, $page, 3, '');
require_once(ROOT.'/views/feed/all_feed.php');
return true;
}
}