簡體   English   中英

Laravel對象數據被覆蓋?

[英]Laravel object data overwritten?

我有一個用Laravel 3構建的應用程序,並且遇到了一個非常奇怪的錯誤。 我有一個帶有兩個日期時間字段的模型: start_timeend_time 我還為此模型啟用了時間戳記,因此也有created_atupdated_at datetime字段。

我有一個控制器動作,用於處理此模型中對象的編輯/更新。 運行此操作時,每隔一次更改end_time字段, start_time字段將被updated_at字段的分鍾和秒覆蓋。 我知道這聽起來很瘋狂,但是下面是我在調試時所做的一些事情。

首先,我從使用fill_raw($input)函數開始切換,並開始使用手動分配,以防萬一。

$object->start_time = $start_time;
    $object->end_time = $end_time;
    $object->save();

我還在整個操作中添加了echo語句,以確保該值在任何時候都沒有改變,包括在調用save()函數后打印存儲在對象中的值的語句。 每次該值都是預期的。 但是,在重定向頁面的操作結束與頁面重新加載之間的某個時間之間,數據庫中的值正在更改。

在這一點上,我認為這在數據庫端一定很奇怪,因為我知道例如在PHPMyAdmin中,當您手動添加一行時,當它們設置為NOT NULL時,它將使用NOW自動填充datetime字段,但是沒有填寫。但是,我已經仔細檢查了該字段是否不為空,因為它具有正確的值。 我在這里死胡同,真的可以使用另一種觀點。

編輯:
是指向相關控制器操作副本的鏈接。 再次指出,整個動作中都有echo語句,這些語句用於驗證輸入數據是否正確,並且在整個動作中未以任何意外的方式被更改。 我遇到的問題僅在操作運行后出現。

更新到當前時間的列與其具有ON UPDATE CURRENT_TIMESTAMP子句的一致。

發出SHOW CREATE TABLE yourtablename可以確認它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM