Điểm:0

Không thể lấy biểu mẫu thực thể để hiển thị giá trị trường ngày

lá cờ cl

Tôi có một thực thể có hai trường ngày. Trong mã lưu thực thể, là:

$date_requested = date('Y-m-d', time());

và trong danh sách các giá trị trường được thêm vào thực thể:

->set('field_date_requested', $date_requested)

Khi kiểm tra db, bảng chứa:

gói | đã xóa | thực thể_id | bản sửa đổi_id | mật mã | delta|field_date_requested_value
+--------+---------+----------+-------------+------ -----+------+--------------+
| my_bundle | 0 | 4 | 4 | vi | 0 | 2022-05-26       

Nhưng khi tôi chỉnh sửa thực thể, tôi thấy điều này:

ảnh chụp màn hình hiển thị trường thực thể

Nếu tôi chèn ngày bằng định dạng giống như trình giữ chỗ, thì ngày đó nằm trong db có định dạng đó, nhưng vẫn không hiển thị. Nếu tôi nhập ngày vào biểu mẫu thực thể theo cách thủ công (yêu cầu phải là m/d/Y), nó sẽ hiển thị khi được chỉnh sửa lại, ở định dạng đó, mặc dù tôi không thấy sự khác biệt trong trường con giá trị trong db.

Điểm:0
lá cờ cn

Khi lưu trữ datetimes trong cơ sở dữ liệu, bạn nên sử dụng DateTimeItemInterface::DATETIME_STORAGE_FORMAT, đó là Y-m-d\TH:i:s. Nếu bạn lưu trữ nó ở một định dạng khác, Drupal sẽ không xử lý nó một cách chính xác.

lá cờ cl
Đã thay đổi định dạng thành đó. Bây giờ giá trị trong db là 2022-05-26T00:00:00, nhưng biểu mẫu thực thể vẫn hiển thị một trường trống có trình giữ chỗ.
lá cờ cn
@JAyenGreen Khác với việc đặt giá trị, mã của bạn có đang sửa đổi giá trị theo bất kỳ cách nào không? Giá trị được gửi đến tiện ích không hiển thị giá trị là gì?
lá cờ cl
Đó là một chuỗi đơn giản ở định dạng yyyy-mm-dd. Nó được tạo theo ngày (fmt, dấu thời gian). Trường ngày Drupal chỉ là một varchar MySQL (20) và trong db, nó được hiển thị chính xác. Vì lựa chọn ngày ban đầu của người dùng được thực hiện bằng FullCalendar, không phải tiện ích Ngày, tôi bắt đầu nghĩ rằng mình nên sử dụng trường ở dạng văn bản thuần túy.
lá cờ cn
@JAyenGreen Ok, tôi không biết gì về FullCalendar, nhưng nếu bạn đang sử dụng tiện ích Ngày khác với tiện ích đi kèm với lõi Drupal, thì đó phải là một phần của câu hỏi.
lá cờ cl
Tôi không. Lịch được sử dụng để chọn ngày. Sau đó, tôi lấy giá trị đó dưới dạng chuỗi yyyy-mm-did và lưu nó vào thực thể cùng với các giá trị thực thể khác.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.