【问题标题】:Symfony Propel Many-To-Many AddSymfony 推动多对多添加
【发布时间】:2012-02-26 01:36:09
【问题描述】:

我有一个功能性的 Symfony 项目。我需要在项目中添加多对多关系。

我有工作表和城市表。如何使用生成器添加此关系(我不想更改现有数据)? 我将在 Jobs 表单(添加、编辑、列表)中使用这种关系来将多个 Cities 分配给 Job。

【问题讨论】:

    标签: database symfony1 many-to-many generator propel


    【解决方案1】:

    您需要一个位于您的工作和城市之间的交叉引用表:

    <table name="job_city" isCrossRef="true">
      <column name="job_id" type="INTEGER" primaryKey="true" />
      <column name="city_id" type="INTEGER" primaryKey="true" />
    
      <foreign-key foreignTable="job">
        <reference local="job_id" foreign="id" />
      </foreign-key>
      <foreign-key foreignTable="city">
        <reference local="city_id" foreign="id" />
      </foreign-key>
    </table>
    

    重新生成后,您将拥有一组新的类:JobCity、JobCityQuery 和 JobCityPeer 可供使用。您可以像这样向城市添加新工作:

    $job = new Job();
    // add job info ...
    $job->save();
    $city = CityQuery::create()->findOneByName("Austin");
    $city->addJob($job);
    $city->getJobs(); // returns PropelObjectCollection of Job objects
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 2019-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多