如何从Vtiger CRM获取指定用户的Project模块数据?
获取Vtiger中分配给特定用户的项目数据
嘿,作为Vtiger新手碰到这个问题太正常啦!Vtiger的数据库设计有点特别——它把所有模块通用的实体字段(比如分配用户、创建时间、删除状态这些)都统一存在vtiger_crmentity表里,而vtiger_project只存储项目专属的业务字段,所以你找不到assigned_user_id是完全合理的。
要获取分配给指定用户的所有项目,你需要把vtiger_project和vtiger_crmentity做关联查询,因为项目表的projectid和实体表的crmid是一一对应的关联键。
基础查询语句
这是最直接的SQL,能拿到该用户下所有未删除的项目数据:
SELECT p.* FROM vtiger_project p JOIN vtiger_crmentity c ON p.projectid = c.crmid WHERE c.assigned_user_id = '9' AND c.deleted = 0; -- 过滤掉已标记删除的项目,避免拿到无效数据
进阶:关联用户表获取更多信息
如果还想同时拿到分配用户的名称、邮箱等信息,可以再关联vtiger_users表:
SELECT p.*, u.user_name, u.email FROM vtiger_project p JOIN vtiger_crmentity c ON p.projectid = c.crmid JOIN vtiger_users u ON c.assigned_user_id = u.id WHERE c.assigned_user_id = '9' AND c.deleted = 0;
小提示
- 记得始终加上
c.deleted = 0这个条件,Vtiger默认是软删除,标记删除的数据依然存在表中,不加的话会拿到无效数据。 - 其他模块(比如Leads、Accounts)的用户分配查询逻辑也是一样的,都是通过关联
vtiger_crmentity来实现哦~
内容的提问来源于stack exchange,提问作者Hemant Dave
相关产品推荐
相关产品推荐

