我最初創建對象的狀態:什麼是數字字段[性能]在PHP
car{gearNumber,tyres}
凡gearNumber,和輪胎是汽車性能......並把它保存在數據庫(MySQL的)無爲gearNumber和輪胎分配任何值。
當我獲取汽車物體並嘗試增加齒輪編號時,什麼也沒有發生..解決方法是在對象創建時設置默認值(0
),但我不想再次返回編輯汽車類不知何故,PHP在飛行中分配值...
我最初創建對象的狀態:什麼是數字字段[性能]在PHP
car{gearNumber,tyres}
凡gearNumber,和輪胎是汽車性能......並把它保存在數據庫(MySQL的)無爲gearNumber和輪胎分配任何值。
當我獲取汽車物體並嘗試增加齒輪編號時,什麼也沒有發生..解決方法是在對象創建時設置默認值(0
),但我不想再次返回編輯汽車類不知何故,PHP在飛行中分配值...
很難說沒有看實際的代碼,但它可能會發生,當從DB檢索行時,將放置一個空字符串(或空值)在你的對象的屬性中。
關於解決方法,有很多。也許你正在尋找的是創建一個constructor,它以gearNumber和輪胎爲參數。這就是OO的說法,「如果你想創造一輛汽車,那麼你必須提供齒輪號和輪胎」。
HTH
$ model-> gearNumber = $ model-> gearnumber ++; $ model-> save(); 再次提取後沒有任何變化,但是當我用$ model-> gearNumber = $ model-> gearnumber + 1做同樣的事情時, $ model-> save();它工作正常 – Eliethesaiyan
老實說,我不知道這是否是一種有效的方式。也許你正在尋找'$ model-> gearNumber + = 1'?你也可以檢查[賦值操作符](http://www.php.net/manual/en/language.operators.assignment.php)。 –
在我寫作的時候,你似乎編輯了你的答案。然後,我猜你自己找到了答案:) –
將MySQL表值設置爲默認爲0而不是null。 –
當然,我已經這樣做了,奇怪的是沒有任何反應,似乎php(或者可能是由Yii引起的)在數據值之前不會識別爲零,如果它被提取爲對象字段,直到您對其進行一些算術運算,這裏是我的場景..我提取了可能從數據庫{gearNumber,tires}中獲取其值的對象汽車,默認情況下它將在數據庫中設置爲零,並嘗試增加gearNumber類似gearNumber ++並再次保存並沒有任何反應。如果我喜歡gearNumber + 1的值更改,..我沒有得到我現在做錯事的地方!thx – Eliethesaiyan