Symfony 2.0'da, formda bire bir ilişkiyi kullanarak bir açılır liste nasıl oluşturulur? İyi örnek verebilir misiniz lütfen?Formda bire bir ilişki?
cevap
Sorunuzu, anladığım şekilde yanıtlamaya çalışacağım. Tek bir University
nesnesine bağlı bir Faculty
nesnesinin olduğunu varsayalım. Yani bir fakülteyi oluşturmak veya düzenlemek için kullanılan formda, veritabanındaki tüm üniversitenin birleşik kutusunu gösteriyorum ve kullanıcı aralarından birini seçiyor. Tam olarak bunu yapan bir özel Symfony alan türü vardır: varlık türü.
// Application\AcmeBundle\Form\Type\FacultyType
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('name');
$builder->add('university', 'entity', array(
// The class of the entity used as a combo box item
'class' => 'AcmeBundle:University',
// The property of the entity displaying the entity as text
'property' => 'name',
// The query builder used to populate the combo box, accepts
// a QueryBuilder object or a \Closure like below
'query_builder' => function(EntityRepository $repository) {
// This will return a query builder selecting all universities
return $repository->createQueryBuilder('u');
}
));
}
Not: varlık alan türü için ayarlanabilir diğer özellikler vardır, seni almaya davet Aşağıda ben fakülte formunu oluşturmak için kullanılan benim FacultyType
nesne kullanmak buildForm
yöntemin kodudur Daha fazla bilgi için bu page bir göz atın.
Oluşturulduğunda, bu veritabanında belirlediğim tüm üniversitelerle birleşik giriş kutusu gösterecektir. Kullanıcı formu kaydettiğinde, üniversite seçiciye formuna bağlı fakülte nesnesine atanmıştır. Bir açılır kutu yerine büyük olasılıkla bir açılır liste oluşturabilirsiniz. Birden fazla varlık seçmeniz gerekiyorsa, alan tipi öğenin 'multiple'
seçeneği kullanışlı olabilir.
Bu söylenen örnekte, gösterdiğim örnek, bire-bir ilişki değil, daha çok Faculty
nesnesi için Çok-bire ve University
nesnesi için bire-birdir. Birebir bir ilişki, bir University
'un benzersiz bir Address
olduğu bir ilişki gibi bir şey olacaktır. Bu durumda, bir açılan kutu, üniversite yalnızca bir adrese sahip olabileceğinden, bir alt formun daha uygun olacağı için yararlı olmaz. Çok sayıda adres varsa, o zaman üniversite ile fakülteleri arasındaki ilişki gibi bire-bir ilişki haline gelir.
Sorunuzun doğru bir şekilde yanıtlanıp karşılanmayacağından emin değilsiniz, ancak umarım sizi nihai bir çözüme götürür.
Selamlar, Matt
Sen Symfony2'deki varlık alanı türünü kullanmak gerekir. İyi bir örnek http://symfony.com/doc/current/reference/forms/types/entity.html
- 1. HQL bire bir ilişki
- 2. Django'da genel bire bir ilişki
- 3. Bire çok ilişki veritabanı tasarımı
- 4. Django-tastypie Bire Çok İlişki
- 5. Amazon DynamoDB (NoSQL db) bire bir ilişki
- 6. Varlık çerçevesi Kod İlk Bire Bir ilişki
- 7. Doktrini 2 Bire Bir tek yönlü bir ilişki Ben bire-bir tek yönlü bir ilişki ile İki varlık vardır tarafını
- 8. Bire çok ilişki için birleşik anahtar?
- 9. Bir Hizmet ile DAO arasındaki ilişki bire bir mi, bire birden mi?
- 10. MongoDB'de çoktan çoğa veya bire bir ilişki nasıl temsil edilir?
- 11. Hazırda bekletme için bire-bir ve çoktan bire ilişki için silinen yetim desteği yok mu?
- 12. Akıcı API - bire bir çok
- 13. SQL veritabanımda bire çok ilişki nasıl saklanır? (MySQL)
- 14. Spring Roo, Hazırda Beklet, Bire çok ilişki ek tablo oluşturur
- 15. bire-bir akıcı nhibernate?
- 16. Bire bir ilişki için kabul edilemez bir değer: property = "user"; istenen tip = Kullanıcı; verilen tip = Kullanıcı;
- 17. WP8 & Linq Bire Bir çok ilişki ile SQL: kaldırır) (SubmitChanges yanlış varlık
- 18. CoreData - Ben Çekirdek Veri modelleme için yeni bire bir
- 19. nasıl formda
- 20. laravel bire bir kaydetme ilişkisi
- 21. Django - formda
- 22. seçme formda
- 23. Mvc formda bir dizi gönderme
- 24. Yalnızca belirli bir formda doğrulama
- 25. ilişki
- 26. İlişki
- 27. : ilişki
- 28. ilişki
- 29. Dinamik SQLAlchemy ilişkisinin türünü (ör., Bire bir) nasıl belirleyebilirim?
- 30. NSFetchedResultsController ve İlişki
adresinde bulunabilir. Ne istediğinize dair daha fazla bilgi verebilir misiniz? – Riley
Birebir ilişkili tablodan combobox oluşturmak istiyorum. – Zeck