試圖創建一個外鍵映射(即映射類產品)時,我收到以下錯誤在我的「創建產品」頁面:主義多對一映射問題
A「__toString()」方法沒有找到 「CJ \ BusinessBundle \ Entity \ Category」類型的對象傳遞給選擇字段。若要 改爲讀取自定義getter,請將選項「屬性」設置爲所需的 屬性路徑。
試圖創建一個外鍵映射(即映射類產品)時,我收到以下錯誤在我的「創建產品」頁面:主義多對一映射問題
A「__toString()」方法沒有找到 「CJ \ BusinessBundle \ Entity \ Category」類型的對象傳遞給選擇字段。若要 改爲讀取自定義getter,請將選項「屬性」設置爲所需的 屬性路徑。
您需要將__toString()
方法添加到您的類別實體。例如:
public function __toString()
{
return $this->name;
}
PHP的魔術方法__toString()
被用於呈現所述對象的文本表示。在這種情況下,在相關實體的表單中選擇類別時將使用類別名稱。
哇,這很快 – Mark 2013-03-19 10:53:45
非常感謝。什麼是需要該功能的邏輯。就像我看到一個錯誤的想法,但我不知道如何處理它。 – chirag7jain 2013-03-19 11:01:29
我編輯了我的答案以澄清這一點。 – 2013-03-19 11:08:44
錯誤信息告訴你你需要做什麼。在你的Category實體中,你需要添加一個__toString()方法,這樣當你添加一個產品時,它就知道在表單的選擇框中爲每個項目命名。
public function __toString()
{
return $this->name;
}
在上述替換「姓名」與取其字段是用於你的類的可讀的標識符。
請參見此問題(http://stackoverflow.com/questions/16702037/how-do-you-define-the-getter-to-use-in-a-crud-form-besides-defining-的toString)。我認爲它可能對你有用。 – Jay 2014-07-12 17:43:22