我最近遇到了表模型的问题,我无法真正解释为什么会发生这种情况。我想从表中选择所有内容并按降序返回。但是当我尝试显示它时,什么也没有显示:
代码:
<?php
//Will be used at a later date
namespace Blog\Model\Table;
use Zend\Db\TableGateway\TableGateway;
class Blog extends TableGateway
{
public function __construct($adapter)
{
parent::__construct('posts', $adapter);
}
public function displayPosts()
{
$adapter = $this->getAdapter();
$result = $adapter->query('SELECT * FROM `posts` ORDER BY `date_added` DESC');
return $result;
}
}
结果:
但是当我添加 $id
参数时,它会显示数据:
代码:
<?php
//Will be used at a later date
namespace Blog\Model\Table;
use Zend\Db\TableGateway\TableGateway;
class Blog extends TableGateway
{
public function __construct($adapter)
{
parent::__construct('posts', $adapter);
}
public function displayPosts($id = 6)
{
$adapter = $this->getAdapter();
$result = $adapter->query('SELECT * FROM `posts` WHERE `post_id` = ?', array($id));
return $result;
}
}
结果:
奇怪的是,它在有论证的情况下起作用,而不是在没有任何想法的情况下起作用?
最佳答案
您需要通过 post_id 订购
public function displayPosts()
{
$adapter = $this->getAdapter();
$result = $adapter->query('SELECT * FROM `posts`')->order(array('post_id' => 'DESC'));
return $result;
}
关于mysql - 表模型的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27730722/