[英]Symfony + Doctrine Many to Many relations with Linking Tables
情況:
我有3個表:學生,地址,StudentAddressLink如下注意*不是完整的yaml文件,但你明白了
Student:
column:
id: blah blah
name: blah blah
Address:
column:
id: ~
street: ~
StudentAddressLink:
column:
id:~
student_id: ~
address_id: ~
relations:
Student:
local: student_id
foreign: id
Address:
local: address_id
foreign: id
從Student對象我想得到相關的“地址街”目前我必須這樣做:
foreach($student->StudentAddressLink as $address)
{
echo $address->getStreet();
}
這有效...但我有一種方法可以做一些讓鏈接表透明的東西,像這樣神奇的東西:
foreach($student->Addresss as $address)
{
echo $address->getStreet();
}
任何方向都會很棒!
如果你想要多對多的關系,你需要使用像這里的代碼(對於symfony的過時版本,但仍然正確)。
這涉及將refClass
設置為StudentAddressLink
,允許您想要的透明關系。 然后,您將能夠使用$student->Address[0]->getStreet
。 那里的文檔可以比我更好地解釋!
編輯我認為您的架構需要看起來像這樣:
Student:
columns:
name: string
relations:
Address:
refClass: StudentAddressLink
local: student_id
foreign: address_id
Address:
columns:
street: ~
StudentAddressLink:
columns:
student_id: ~
address_id: ~
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.