0

如果行数为 0 我想回显一条消息,这应该是直截了当的。这是我所拥有的:

public function getClubComment($id) {
$id = (int) $id;
$row = $this->fetchRow('club_id = ' . $id);
if (!$row) {
    echo 'No comments';
    }
    return $row->toArray();
    var_dump($row);
}
4

2 回答 2

0

fetchRow返回一个对象,即使没有结果,这就是为什么if语句中的条件总是为假,试试这个

if (!count($row))
于 2012-05-01T15:24:13.783 回答
0

也许尝试类似:

//not sure if this will work as I don't do this kind of request anymore
public function getClubComment($id) {
$id = (int) $id;
$row = $this->fetchRow('club_id = ?',  $id);
if (!$row) {echo 'No comments';}
    return $row->toArray();
    var_dump($row);
}

我认为你会更高兴做这样的事情,消除大部分猜测。

public function getClubComment($id) {
$id = (int) $id;
//create instance of Zend_Db_Select object
$select = $this select();
$select->where('club_id = ?', $id);
//fetchRow using Zend_Db_Select object
$row = $this->fetchRow($select);
//fetchRow() returns NULL so may as well test for that.
if ($row === NULL) {
    throw new Zend_Db_Table_Exception();
    }
    return $row->toArray();
    var_dump($row);
}

Zend_Db_Select在模型中使用非常有用,因为它通常负责正确引用值,并且很容易使用任何 sql 构建相当复杂的 sql 查询。在这个例子中,我对 select() 的每个部分都使用了离散的行,但我可以很容易地将它们串在一起。我个人喜欢将每一行分开,这样我就可以轻松更改或排除故障。

于 2012-05-01T07:06:50.083 回答