У меня есть очень простой базы данных (MySql) с одной таблицей, которую я обращающегося с помощью Propel с этим кодом ...Propel возвращение же запись несколько раз
<?php
$autoloader = require '/vendor/autoload.php';
$autoloader->add('', __DIR__ . '/generated-classes/');
use Propel\Runtime\Propel;
use Propel\Runtime\Connection\ConnectionManagerSingle;
require './generated-conf/config.php';
require './includes/pagebuilder.php';
Propel::getConnection("default")->useDebug(true);
$videos = VideosQuery::create()
->orderByAddeddate()
->paginate($page = 1, $maxPerPage = 20);
echo GetMainPage($videos);
echo Propel::getConnection()->getLastExecutedQuery();
?>
Запрос, кажется, генерируется правильно ...
SELECT videos.id, videos.AddedDate, videos.Rating, videos.Views, videos.Title, videos.Description, videos.ImageUrl, videos.EmbedUrl FROM videos ORDER BY videos.AddedDate ASC LIMIT 20
Если я запускаю этот запрос через PhpMyAdmin я получаю ожидаемые результаты, однако, Propel, кажется, возвращается первая запись найденную по запросу 20 раз. Кто-нибудь знает, что может случиться здесь? Благодаря
редактировать: Запись цикл
function GetMainContent($videos) {
$mc = '<main>
<div id="video-box-wrapper">';
foreach($videos as $video) {
$mc .= '<div class="video-box">
<a href="#">
<img src="' . $video->getImageUrl() . '" />
<span>' . $video->getTitle() . '</span>
<br />
<p>' . $video->getViews() . ' views</p>
<p>Rating: ' . $video->getRating() . '/10</p>
</a>
</div>';
}
$mc .= '</main>';
return $mc;
}
Это похоже на ваш код поиска. Где вы получаете двадцать одинаковых записей? – tadman
Когда я прохожу через $ видео, каждая запись идентична. Я добавил код к исходному вопросу. –
Выполняется ли запрос вручную, чтобы получить правильные результаты? Что показывает ['var_dump'] (http://php.net/manual/en/function.var-dump.php)' $ videos'? – tadman