I use symfony 1.4.10 I have next situation: User can create "Ads" and he can create one "company". My part of schema:
Ads:
actAs:
Timestampable: ~
Sluggable:
unique: true
fields: [title]
canUpdate: false
connection: doctrine
tableName: ads
columns:
ad_id: { type: integer(4), primary: true, autoincrement: true, notnull: true }
user_id: {type: int(4) }
country: {type: string(255), notnull: true }
category_id: { type: int(4), notnull: true }
company: {type: string(255), notnull: true }
address: {type: string(255), notnull: true }
contact_person: {type: string(255), notnull: true }
phone: { type: string(50), notnull: true }
fax: { type: string(50) }
email: {type: string(255), notnull: true}
show_in_profile: { type: boolean,notnull: true , default: false }
title: {type: string(255), notnull: true }
content: {type: string(), notnull: true }
company: {type: string(255), notnull: true }
AGB: { type: boolean,notnull: true , default: false }
active: { type: boolean,notnull: true , default: 0 }
expires_at: { type: timestamp, notnull: true }
relations:
Owner: { onDelete: CASCADE, local: user_id, foreign: id, class: sfGuardUser }
Bookmark: { local: ad_id, foreign: user_id, class: sfGuardUser, refClass: Bookmarks }
Categories: { onDelete: CASCADE, local: ad_id, foreign: category_id }
Images: { local: ad_id, foreign: ad_id, type: many, class: Images }
Companies:
actAs:
Timestampable: ~
Sluggable:
unique: true
fields: [company]
canUpdate: false
connection: doctrine
tableName: companies
columns:
company_id: { type: integer(4), primary: true, notnull: true, autoincrement: true }
user_id: {type: int(4) }
category_id: {type: int(4), notnull: true }
company: {type: string(255), notnull: true }
address: {type: string(255), notnull: true }
contact_person: {type: string(255), notnull: true }
phone: { type: string(50), notnull: true }
fax: { type: string(50) }
email: {type: string(255), notnull: true}
url: { type: string(50) }
about: {type: string(), notnull: true}
country: {type: string(255), notnull: true}
active: { type: boolean, default: 0 }
has_company: { type: boolean, default: 1 }
relations:
Owner: { onDelete: CASCADE, local: user_id, foreign: id, class: sfGuardUser }
Images_companies: { local: company_id, foreign: company_id, type: many, class: Images_companies }
Categories: { onDelete: CASCADE, local: company_id, foreign: category_id }
sfGuardUserProfile:
connection: doctrine
tableName: sf_guard_user_profile
columns:
id: { type: integer(4), primary: true, autoincrement: true }
user_id: { type: integer(4), notnull: true }
salutation: { type: string(10), notnull: true }
first_name: { type: string(30), notnull: true }
last_name: { type: string(30), notnull: true }
country: { type: string(255), notnull: true }
postcode: { type: string(10) , notnull: true }
city: { type: string(255), notnull: true }
address: { type: string() , notnull: true }
phone: { type: string(50) }
email: { type: string(255), notnull: true }
validate: { type: string(17) }
banned: { type: boolean, default: 0 }
payed_until: { type: datetime, notnull: true}
relations:
User:
class: sfGuardUser
local: user_id
foreign: id
type: one
foreignType: one
foreignAlias: Profile
onDelete: CASCADE
So I need in each Ads of user put link to company of this user.So I do not know how to do it... Part of routing:
ads:
url: /:sf_culture/account/ads/:action/*
param: { module: ads }
requirements:
sf_culture: (?:de|en|ru)
companies:
url: /:sf_culture/account/company/:action/*
param: { module: companies }
requirements:
sf_culture: (?:de|en|ru)
I think that it is possible in each ad to form a link to a company, but I do not know how I can get the id of company what I need.probably add relations between "Ads" and "Company"?Maybe there is another way to make a link to company? p.s Sorry for ma bad English