這個問題出自我在這個論壇上的其他問題之一。我創建了一個自定義模塊並覆蓋了「Review」模型的核心文件。它允許我將數據保存到我的自定義字段'電子郵件'罰款。但是,當我嘗試檢索該字段的值時,它根本無法識別我的字段。選擇一個沒有`e.`或`main_table`的字段 - Magento
這是我的查詢,
Mage::getModel('review/review')->getCollection()
->addFieldToFilter('status_id' , '1')
->addFieldToFilter('email', $emailId)
->addFieldToSelect('email');
這是我所得到的,當我贊同它,
SELECT `main_table`.`email` AS `review_detail`, `detail`.`detail_id`, `detail`.`title`, `detail`.`detail`, `detail`.`nickname`, `detail`.`customer_id` FROM `review` AS `main_table` INNER JOIN `review_detail` AS `detail` ON main_table.review_id = detail.review_id WHERE (status_id = '1') AND (email = '[email protected]')
它顯然試圖從main_table
選擇電子郵件這是review
表而不是review_detail
表。有沒有辦法選擇email
字段沒有main_table
前綴或只是改變查詢,使它從review_detail
表中選擇email
?
請幫我一把。我遇到過與joins
相關的帖子,但不確定這是否是我的案例中的一個選項。提前致謝。
我確實嘗試過,但仍未發生。你如何在上面的代碼中使用'detail.email'編寫代碼?也許我在語法上寫錯了? – ivn
我用'(反引號)。當你用'detail.email'進行回顯時,你會得到什麼? – CCBlackburn
當我回顯'detail'.'email'時,我得到'SELECT'main_table.'detailemail' ...'..它只是不能識別'email'字段來自review_detail而不是審查表。 – ivn