Zend框架中的一个小问题


One small where query issue in Zend framework

我是zend框架的新手,我在查询中遇到了一个问题,请帮助我。

 $rowset = $this->tableGateway->select(function (Select $select) {
        $syear = date('Y');
        $select->where(array(
        'YEAR(date) = ?' => $syear,
        'user_id = ?' =>$myid,
        )); 
        $select->order('id DESC');
        });
        $counter3= count($rowset);

在这里,我想要当前年份记录的计数,并且用户ID是固定的,例如50,然后输出是具有50个userid和当前年份的所有数据

在这里,我的一年条件在成功工作但'user_id = ?' =>$myid

它不起作用,假设$myid值为 50 ,

但是如果我像'user_id = ?' =>50一样直接传递 50 个值,那么它可以工作

这里有什么问题,

提前谢谢。

我正在客串$myid是在调用 select 函数之前定义的。 在这种情况下,您需要告诉您的选择函数使用此变量。

$rowset = $this->tableGateway->select(function (Select $select) use($myid) {});