首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多到多关系的推进过滤器

具有多到多关系的推进过滤器
EN

Stack Overflow用户
提问于 2015-09-02 11:49:25
回答 1查看 290关注 0票数 2

我尝试使用推进,而不是继承到过滤器与多对多的关系

在这里,找到schema.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<database defaultIdMethod="native" name="flash">
  <table name="demand">
    <column name="id" type="INTEGER" primaryKey="true" autoIncrement="true" required="true" />
    <column name="label" type="VARCHAR" size="90" required="true" />
    <column name="description" type="LONGVARCHAR" required="true" />
  </table>
  <table name="customer">
    <column name="id" type="SMALLINT" primaryKey="true" autoIncrement="true" required="true" />
    <column name="name" type="VARCHAR" size="32" required="true" />
    <column name="service_id" type="SMALLINT" required="true" />
    <foreign-key name="fk_customer_service" foreignTable="service">
      <reference local="service_id" foreign="id"/>
    </foreign-key>
  </table>
  <table name="service">
    <column name="id" type="SMALLINT" primaryKey="true" autoIncrement="true" required="true" />
    <column name="label" type="VARCHAR" size="4" />
  </table>

  <table name="demand_customer" isCrossRef="true">
    <column name="demand_id" type="INTEGER" primaryKey="true" required="true" />
    <column name="customer_id" type="SMALLINT" primaryKey="true" required="true" />
    <foreign-key name="fk_demand_customer_demand" foreignTable="demand" onDelete="CASCADE">
      <reference local="demand_id" foreign="id"/>
    </foreign-key>
    <foreign-key name="fk_demand_customer_customer" foreignTable="customer" onDelete="CASCADE">
      <reference local="customer_id" foreign="id"/>
    </foreign-key>
  </table>
</database>

我想检索--所有附加客户服务的需求等于3 (例如)。有了下面的数据,我只需要的id为2

你能帮我吗?

数据示例:

代码语言:javascript
复制
    demand
-------------------------------
id  |   label   |   description
-------------------------------
1       test1       desc1
2       test2       desc2


customer
------------------------------
id  |   name    |   service_id
------------------------------
1       name1       1
2       name2       3
3       name2       2


service
-------------
id  |   label
-------------
1       service1
2       service2
3       service3


demand_customer
---------------------------
demand_id   |   customer_id
---------------------------
1               1
2               1
2               2
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-01 10:28:32

我找到了怎么做的:

代码语言:javascript
复制
$demands = DemandQuery::create()
->useDemandCustomerQuery()
    ->useCustomerQuery()
        ->filterByServiceId(getSessionValue('service'))
    ->endUse()
->endUse()
->find();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32352360

复制
相关文章

相似问题

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