2012-02-26 2 views
0

У меня есть функциональный проект Symfony. Мне нужно добавить отношения «Много-ко-многим» в проекте.Symfony Propel Many-To-Many Добавить

У меня есть таблица рабочих мест и городов. Как я могу добавить это relantionships с помощью Generator (я не хочу изменять существующие данные)? Я буду использовать эти отношения в формах вакансий (добавьте, отредактируйте, перечислите), чтобы назначить несколько городов заданию.

ответ

0

Вам понадобится перекрестную таблицу ссылок, сидя между заданиями и городов:

<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 
Смежные вопросы