2013-03-19 15 views
10
bir yabancı anahtar eşleme (Ürüne yani haritalama Kategorisi) oluşturmaya çalışırken benim "Ürün Oluşturma" sayfasında aşağıdaki hatayı alıyorum

:Doktrini Birçok için bir Haritalama Sayı

Bir "__toString()" yöntemi, seçim alanına iletilen "CJ \ BusinessBundle \ Entity \ Category" türündeki nesnelerde bulunamadı. için özel bir alıcıyı okuyun, "özellik" seçeneğini istenen özellik yoluna ayarlayın.

+2

Lütfen [bu sayı] konusuna bakın (http://stackoverflow.com/questions/16702037/how-do-you-define-the-getter-to-use-in-a-crud-form-besides-defining- toString). Bunun için yararlı olabileceğini düşünüyorum. – Jay

cevap

29

Kategori varlığınıza bir __toString() yöntemi eklemeniz gerekir. Örneğin:

public function __toString() 
{ 
    return $this->name; 
} 

PHP büyü yöntem __toString() nesnesinin metin biçimini göstermek için kullanılır. Bu durumda, Kategori adı, ilgili bir varlığın Formunda bir Kategori seçerken kullanılacaktır.

+0

Vay, hızlıydı – Mark

+0

Çok teşekkürler. Fonksiyona ihtiyaç duyan mantık nedir. Hatayı incelemekle ilgili bir fikrim var ama onunla ne yapacağımı bilmiyordum. – chirag7jain

+0

Bu noktayı açıklığa kavuşturmak için cevabımı düzenledim. –

7

Hata iletisi, yapmanız gerekenleri size anlatıyor. Kategori öğenizde bir __toString() yöntemi eklemeniz gerekir; böylece bir ürün eklediğinizde, formdaki seçim kutusundaki her bir öğeyi adlandıracağınızı bilirsiniz. Yukarıda

public function __toString() 
{ 
    return $this->name; 
} 

alan, kategori için okunabilir bir tanıtım hangisi ile 'adını' değiştirin.