Tôi tìm thấy this answer về chủ đề, nhưng nó không hoạt động đối với tôi.Thay đổi Laravel created_at khi cập nhật
Vì vậy, tôi làm cho một mục trong cơ sở dữ liệu:
// Write lead to database
$lead = Lead::create($lead_data);
Và timestamps trông như thế này, đó là tốt:
| 2016-01-08 10:34:15 | 2016-01-08 10:34:15 |
Nhưng sau đó tôi thực hiện một yêu cầu đến máy chủ bên ngoài, và tôi cần cập nhật hàng:
$lead->user_id = $response['user_id'];
$lead->broker_id = $response['broker_id'];
$lead->save();
và trường created_at được thay đổi:
| 2016-01-08 04:34:17 | 2016-01-08 10:34:17 |
Làm cách nào để giải quyết vấn đề này?
EDIT
Tôi cần một giải pháp mà sẽ chỉ thay đổi hành vi mà không thả cột hoặc đặt lại di cư. Bản sửa lỗi phải được thực hiện trên cơ sở dữ liệu trực tiếp mà không cần chạm vào dữ liệu. Như được đề xuất bên dưới, tôi đã thử di chuyển sau:
$table->datetime('created_at')->default(DB::raw('CURRENT_TIMESTAMP'))->change();
nhưng không có gì xảy ra. Trường created_at vẫn được sửa đổi khi cập nhật.
Bạn tải biến $ lead trước khi cập nhật? –
Biến '$ lead' được điền bằng phương thức' create', nhưng dù sao, tôi cũng cố gắng với '$ lead = Lead :: find ($ lead-> id);' sau khi viết, vấn đề vẫn tồn tại. – Skatch