Điểm:0

So sánh các giá trị 'cũ' trong hook_user_update

lá cờ mw

Tôi có một chức năng đang chạy hook_ENTITY_TYPE_update cho tài khoản người dùng, nhưng tôi muốn có thể so sánh với các giá trị trước đó có thể có trên tài khoản người dùng, ví dụ: xem liệu người dùng đã thay đổi địa chỉ email của họ và có thể phản ứng với nó hay không.

Tôi có thể thấy điều đó nếu tôi chạy gỡ lỗi trên $entity giá trị là một phần của chức năng có một mục 'gốc' trong giá trị mảng, đó có phải là cách duy nhất để truy xuất dữ liệu đã chỉnh sửa trước không?

Điểm:1
lá cờ cn

Có, dữ liệu trước khi chỉnh sửa được lưu trữ trong nguyên, điều này sẽ cho phép bạn truy cập tất cả các phương thức của đối tượng người dùng nhưng trả về các giá trị của trạng thái trước đó.

Vì vậy, ví dụ, để kiểm tra xem địa chỉ email đã được thay đổi chưa:

$previous_email = $account-> original->getEmail();

if ($previous_email !== $account->getEmail()) {
Andrew Morris avatar
lá cờ mw
Thật tuyệt, tôi không hiểu tại sao IDE của tôi cứ cảnh báo tôi rằng tôi không thể gọi $account-> original nên tôi chưa bao giờ thử chạy nó, nhưng nó thậm chí còn nói rằng đó là cách bạn lấy nó từ đây - https://api.drupal. org/api/drupal/core%21lib%21Drupal%21Core%21Entity%21entity.api.php/function/hook_entity_update/8.2.x

Đă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.