我在cakephp中創建了一個具有典型HABTM關係的表單。假設我正在使用優惠券代碼開發訂單。從邏輯角度來看,我需要接受優惠券代碼的文本輸入,所以傳入的數據不會是正確的主鍵,而是不同的字段。cakephp與輸入而不是選擇框的habtm關係?
然後我需要驗證該數據並檢索正確的主鍵ID,然後使用該coupon_id和order_id更新orders_coupons表。
當使用選擇框時,該值將始終是正確的coupon_id,但是我在哪裏放置邏輯來處理這個問題?我應該使用beforeSave修改數據嗎?
從本質上講,用戶在優惠券代碼鍵入文本框(沒有選擇,因爲他們不應該能夠選擇優惠券代碼)。當他們手動輸入代碼時,模型需要知道它不是HABTM關係的ID,所以需要查找輸入的優惠券代碼,確定真正的主鍵,並將* *保存到habtm表。 – helion3 2010-01-28 00:33:25
沒錯。所以你可以在模型中創建一個類似setCouponCode(code)的方法,它會假設你總是傳遞一個人類可讀的優惠券代碼(畢竟人們將如何知道coupon_id?),並使用它來找到真正的coupon_id,並且保存到HABTM。 – mlathe 2010-01-28 01:00:16