首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展dotproject

扩展dotproject
EN

Stack Overflow用户
提问于 2009-09-25 14:05:51
回答 2查看 153关注 0票数 0

实际上,我正在尝试使用dotproject来构建我自己的小应用程序。

我遇到了这样一种情况,dotproject显示与特定项目相关的所有任务,.It在数据库中查询该任务,并触发下面的sql

代码语言:javascript
复制
 $q->addJoin('tasks', 't1', 'projects.project_id = t1.task_project');
    $q->addQuery('com.company_name AS company_name, com_internal.company_name'
                 . ' AS company_name_internal' 
                 . ", CONCAT_WS(', ',contact_last_name,contact_first_name) user_name" 
                 . ', projects.*, SUM(t1.task_duration * t1.task_percent_complete' 
                 ." * IF(t1.task_duration_type = 24, {$working_hours}, t1.task_duration_type))" 
                 ." / SUM(t1.task_duration * IF(t1.task_duration_type = 24, {$working_hours}," 
                 . ' t1.task_duration_type)) AS project_percent_complete');

    $q->addWhere('t1.task_id = t1.task_parent');
$q->addWhere('project_id = ' . $project_id);
$q->addGroup('project_id');

我不能理解sql properly.Actually,这个sql检索与我的项目中的project.But相关联的所有任务,我只想要那些持续时间已经完成的任务。

我如何更改sql来实现这一点?

EN

回答 2

Stack Overflow用户

发布于 2009-10-13 14:07:59

您可以简化大部分操作,只需查看tasks表上的task_percent_complete字段即可。如果是100%,那么任务就完成了。

如果你想在dotproject上构建一个应用程序,我建议你去看看web2project。大约两年前,我们从dotproject分叉,并对系统进行了显著的清理和改进。如果你有任何问题,请随时给我留言。

票数 0
EN

Stack Overflow用户

发布于 2013-02-06 14:04:18

我知道现在回答这个问题为时已晚,但希望有人能从中得到一些线索:

只需添加类似于$q->addWhere('task_percent_complete = 100');的where查询

总之,您的代码将如下所示:

代码语言:javascript
复制
 $q->addJoin('tasks', 't1', 'projects.project_id = t1.task_project');
$q->addQuery('com.company_name AS company_name, com_internal.company_name'
             . ' AS company_name_internal' 
             . ", CONCAT_WS(', ',contact_last_name,contact_first_name) user_name" 
             . ', projects.*, SUM(t1.task_duration * t1.task_percent_complete' 
             ." * IF(t1.task_duration_type = 24, {$working_hours}, t1.task_duration_type))" 
             ." / SUM(t1.task_duration * IF(t1.task_duration_type = 24, {$working_hours}," 
             . ' t1.task_duration_type)) AS project_percent_complete');

$q->addWhere('t1.task_id = t1.task_parent');
$q->addWhere('project_id = ' . $project_id);
$q->addWhere('t1.task_percent_complete = 100'); // added new line
$q->addGroup('project_id');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1477483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档