Veritabanı yapmam temel olarak her tablo için birden çok birincil anahtardan oluşur, bu nedenle birleştirme için birden fazla sütun gerekir. ColdFusion (spesifik olmak için 11) ORM collection property'u kullanmaya çalışıyorum. fkColumn
özniteliğinde virgülle ayrılmış bir sütun listesi, relationship properties için olduğu gibi çalışmıyor. Ben filed a bug with Adobe var, ama başka birinin bu işe koşup gitmediğini ve geçici çözümler bulup bulmadığını merak ediyorum. Ya da belki sadece yanlış yapıyorum ..ColdFusion: Birden Fazla Yabancı Tuşa Sahip ORM Koleksiyonu
Tablo Kur
Years Staff StaffSites Sites
=========== ============ ============ ===========
YearID (PK) StaffID (PK) YearID (PK) SiteID (PK)
YearName StaffName StaffID (PK) SiteName
SiteID (PK)
Personel ORM CFC
component persistent=true table='Staff' {
property name='id' column='StaffID' fieldType='id';
property name='year' column='YearID' fieldType='id';
property name='sites' elementColumn='SiteID' fieldType='collection' table='StaffSites' fkColumn='StaffID,YearID';
}
Sorun
bir hata olduğunu oluşturulan sorguyu çalıştırırken:oluşturulan sorgu önceki çekme
, sütun liste düzgün where
madde için ayrıştırılmaz görünür, ancak biraz select
ekspresyonunda birden çok sütun olduğunu anlar.
select
sites0_.StaffID,
YearID as StaffID1_2_0_,
sites0_.SiteID as SiteID4_0_
from
StaffSites sites0_
where
sites0_.StaffID,YearID=?
doğru çok önemli "katılmak" desteklemek için ORM toplama özelliği, Hedef
. Neden bir ilişkiyi kullanmıyorsun? Sonra REST hizmetlerinde kullanmak için JSON olarak serileştirmek için ORM nesneleri kullanmak istiyorum. Serileştirilmiş JSON, gerçek ilişki verileri değil, ilişkilerin kimliğini içermelidir. Örneğin, JSON yükü olmalıdır:
yerine gibi bir şey{
"id": 1234,
"year": 2015,
"sites": [1,2,3]
}
: DB yapısı için
{
"id": 1234,
"year": 2015,
"sites": [
{"id": 1, "name": "Foo"},
{"id": 2, "name": "Bar"},
{"id": 3, "name": "Baz"},
]
}
Mesaj DİNLENME hizmetlerinde kullanılmak üzere beklenen JSON bir örnek denemelisiniz. – Henry
@Henry İstediğiniz örnekleri ekledim. Herhangi bir girdi için teşekkürler. "Post-load" verilerini elle almak için ORM kancalarını kullanmayı düşünüyordum. Bu projeye geri döndüğümde bunu deneyeceğim. – Panman
, bu JSON'u Personel kuruluşundan istediğiniz gibi görünüyor. "Staff" için özel seri hale getirici (CF11'de yeni) kullanın ve geri kalanını bağlantıya sahip bire çok veya çoktan çoğa olarak ayarlayın. – Henry