我想填充空模型並將模型保存在blob字段中供以後使用。我的問題是我無法找到如何添加一個行到空模型。向模型添加一行
這個工程:
$test = LineItem::model();
$test->item_id = '2';
這不起作用
$test->1->item_id = '3';
或
$test->item_id[1] = '3';
我試圖尋找了Yii的文檔中,但我無法找到答案。
感謝
澄清 我試着去創建一個使用一個真正的表的模型假表。我正在開發一個發票系統,並且我不想將訂單項或發票正文信息修改到數據庫,直到它「關閉」。相反,我想填充相應的模型,然後將其序列化並存儲在BLOB字段中。發票完成後,數據將被寫入表格。
我不確定你是否以正確的方式做到這一點。序列化模型行,將其插入到內存數據庫中的BLOB聽起來像很麻煩 - 我認爲將它寫入真正的數據庫行會更好,但有一個可以設置的「is_closed」布爾列發票何時關閉。 – halfer 2012-04-06 20:44:43
@halfer,謝謝你的建議。我實際上正在做這件事,但它沒有連續的發票號碼造成問題。如果窗口關閉或發票未完成,它將在數據庫中打開。我希望避免這種情況。我也想用上面提到的方案作爲變化的追蹤和歸檔方法。考慮週末我可能會回到以前的陣列方案,並放棄使用數據庫的模型。 – 2012-04-09 15:42:33
我認爲它可以在數據庫中「坐下」,只要用戶沒有明確地關閉它。如果您的問題是發票號碼應該連續並且目前不是,那麼我想知道您是否嘗試將主鍵用作公共發票號碼?我認爲這可能不是最好的解決方案;主鍵和外鍵用於引用完整性,而不是供人蔘考。爲您的連續客戶發票編號添加另一列(如果適用,請附帶一個唯一的約束) - 如果適合您的ERD,則可以爲空,所以只有真正的發票('關閉')才能獲得一個。 – halfer 2012-04-09 16:05:00