Php Zend框架中的一个小where查询问题
我是zend Framework的新手,我在查询中遇到了一个问题,请帮助我Php Zend框架中的一个小where查询问题,php,zend-framework,zend-framework2,zend-form,Php,Zend Framework,Zend Framework2,Zend Form,我是zend Framework的新手,我在查询中遇到了一个问题,请帮助我 $rowset = $this->tableGateway->select(function (Select $select) { $syear = date('Y'); $select->where(array( 'YEAR(date) = ?' => $syear, 'user_id = ?' =>$myid,
$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个用户ID和当前年份的数据
这里是我的年度条件,其中成功工作,但“用户id=?”=>$myid
它不起作用,假设$myid值为50
但如果我直接传递50个值,比如'user_id=?'=>50,那么它就可以工作了
这里有什么问题,
提前感谢。我正在留言,在调用select函数之前定义了$myid。在这种情况下,你需要告诉你的选择函数使用这个变量
$rowset = $this->tableGateway->select(function (Select $select) use($myid) {});
如何获取$myid变量?var_dump$myid;出口请在使用查询之前单击它,并尝试找出哪里出了问题。感谢您的重播,但是var\u dump输出为int50,但我的结果不正确,它仍然显示0 userPaste assembled查询,返回者:var\u dump$select->\u\u toString;在我看来,变量似乎超出了范围。您使用的是匿名函数,因此无法访问先前定义的变量。只需在函数调用中添加一个use myid,它就可以工作了。$myid已经从函数参数中调用,返回int50