gpt4 book ai didi

php - 当我将 Zend_Db_Table_Abstract 与 select 和 join 一起使用时,fetchAll 返回一行

转载 作者:行者123 更新时间:2023-11-30 23:34:49 24 4
gpt4 key购买 nike

我的类(由 Zend_Db_Table_Abstract 扩展)有问题,每次使用连接和选择时它只返回一行....

我在互联网上搜索过,但我没有找到任何关于这个“错误”的信息!

class Api_Model_News extends Zend_Db_Table_Abstract
{
protected $_name = 'news';
protected $_primary = 'news_id';

protected $select;

public function init()
{
$this->select = $this->select();
}

public function setTimestamp($timestamp)
{
$this->select
->where('news_timestamp >= ?', $timestamp);
return $this;
}
public function setCategory($id_category)
{
$this->select
->where('bsn_id_category = ?', $id_category);
return $this;
}

public function getNews()
{
$this->select
->from('news')
->joinLeft('business', 'news_id = bsn_id', array());
$data = $this->fetchAll($this->select);
return $data->toArray();
}

}

在另一个函数中:

$news = new Api_Model_News();                    

if ($id_category != NULL)
$news->setCategory($id_category);

if ($last_sync != NULL)
$news->setTimestamp($last_sync);

return $news->getNews();
  • 当我设置 id_category 而不是 last_sync => 只有一行
  • 当我设置 last_sync 而不是 id_category => 多行
  • 当我设置 last_syncid_category => 只有一行

为什么?我想这是因为我在 select 中使用了 bsn_id_category 但我不明白....

最佳答案

基于上一个答案,试试这个:

 $this->select(Zend_Db_Table::SELECT_WITH_FROM_PART)
->setIntegrityCheck(false)
->joinLeft('business', 'news_id = bsn_id', array());

关于php - 当我将 Zend_Db_Table_Abstract 与 select 和 join 一起使用时,fetchAll 返回一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8370031/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com