后台
2526

关于使用数组做查询条件的问题已解决悬赏15积分

提问者longxingluo答案数1阅读数2852发表时间2014-11-26 21:46:56

还是需要对多表连接的值做筛选查询。需要查询任务在时间区间内添加了多少工时(自己做了个审核工时的模块)

我先查出任务,然后链接任务ID传到查看页面,然后调用查询模块取值,但是无法传已取得的日期作为WHERE条件,请问我改如何写这个函数?


public function getByQueryReprot($query, $pager = null, $orderBy = 'id')
{
$taskIdList= $this->dao->select('stardate')->from(TABLE_DATETOTIMESHEETS)
->where($query)
->groupby('stardate')
->fetchAll();

$tasks = $this->dao->select('t2.id,t2.name,t2.pm,sum(t4.consumed) consumed, t3.realname AS assignedToRealName,sum(case when t6.status="approv" then t4.consumed else 0 end) approve,t6.stardate')
->from(TABLE_TASK)->alias('t1')->leftJoin(TABLE_PROJECT)->alias('t2')
->on('t1.project = t2.id')
->leftJoin(TABLE_TASKESTIMATE)->alias('t4')->on('t1.id = t4.task')
->leftJoin(TABLE_USER)->alias('t3')->on('t1.assignedTo = t3.account')->leftJoin(TABLE_DATETOTIMESHEETS)->alias('t5')->on('t4.date=t5.date')->leftJoin(TABLE_TIMESHEETS)->alias('t6')->on('t5.stardate=t6.stardate')
->where('t1.deleted')->eq(0)
->andWhere('t4.account=t6.account')
->andWhere('t6.stardate')->in($taskIdList)
->groupby('t2.id,t2.name,t2.pm')
->orderBy($orderBy)
->page($pager)
->fetchAll();
$this->loadModel('task')->processTasks($tasks);
return $tasks;
}


--------------------

上面这个就是search调用的函数,能取得$taskIdList的值,得到1个或多个日期,想用这个日期来关联下面这个多表链接,但是感觉 $taskIdList 的值传不过来,是空。我应该如何写这个函数?

禅道版本:6.3.stable

安装包类型:源码包

操作系统:Windows 7

客户端浏览器:IE9

设置备注
内容
答案列表
🍟
2014-11-27 08:28:16
fetchAll()返回的数据结构你打印下就知道了。
联系我们
联系人
刘璐/高级客户经理
电话(微信)
18562550650
QQ号码
2845263372
联系邮箱
liulu@chandao.com
其他相关问答
提问者: m_6678c4b015f30 于 2024-06-24473次浏览,1个答案
596045
已解决
悬赏10积分
提问者: m_62dfb86b1c407 于 2022-07-261002次浏览,1个答案
596592
已解决
悬赏5积分
提问者: wx_646d5c45c8d63 于 2023-07-20464次浏览,2个答案
提问者: m_6552d104911a3 于 2023-11-141313次浏览,1个答案
提问者: m_6385a30b9b9d1 于 2022-11-29861次浏览,1个答案
返回顶部
客服头像
刘璐
高级客户经理
客服微信
18562550650
2845263372
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。问题反馈反馈点击这里,让我们聆听您的建议与反馈。