2016-12-14 117 views
0

我正在爲我的PHP項目使用Paris的Idiorm。
我想添加一些entrys與一些空值到我的mysql數據庫。
例如:idiorm/paris - 將null寫入數據庫

$openingtime->setBegin(null); 
$openingtime->setEnd(null); 
$openingtime->setDayOfWeek(1); 
$openingtime->save(); 

的開始時間和結束列的數據庫具有類型「時間」和它們可爲空的。
例外的結果

+----+-------+------+-----------+ 
| id | begin | end | dayOfWeek | 
+----+-------+------+-----------+ 
| 1 | null | null |   1 | 
+----+-------+------+-----------+ 

我得到的結果是:

+----+----------+----------+-----------+ 
| id | begin | end | dayOfWeek | 
+----+----------+----------+-----------+ 
| 1 | 00:00:00 | 00:00:00 |   1 | 
+----+----------+----------+-----------+ 

ORM :: get_last_query()說,這樣的事情:

UPDATE `openingtime` SET `begin` = '', `end` = '', `dayOfWeek` = '1' 

所以不是空的,idiorm /巴黎插入一個空字符串。

是否有可能添加null而不是空字符串? 感謝您的幫助!

編輯:添加 的ClassDefinition OpeningTime以下

+0

嗨!你還可以添加'OpeningTime'類定義嗎? –

+0

嗨大衛,我已經添加了類定義 – MMM

+0

嘗試直接使用'$ openingtime-> end = null;'看看是否有效。 –

回答

0

的問題是在制定者,更精確的功能ヶ輛()用strip_tags()我在setter方法使用。如果給定的值爲空,這些函數將返回一個空字符串。
我現在的解決辦法:

public function setBegin($begin){ 
    if(isset($begin)){ 
     $this->begin = htmlentities(strip_tags($begin), ENT_QUOTES); 
    } 
    else{ 
     $this->begin = null; 
    } 
} 

謝謝!