Saya agak bingung dengan id pesanan dan id kenaikan pesanan , Jadi bisakah ada yang membantu saya untuk memahami perbedaan antara keduanya?
Saya memiliki pengamat untuk sales_order_place_after tempat saya menyimpan detail penjualan di tabel khusus.
Tetapi dengan
$orderId = $observer->getEvent()->getOrder()->getId();
Saya mendapatkan id pesanan seperti id normal seperti 112 atau 113 atau 110 dll, tidak seperti 20001201
Jadi yang merupakan id pesanan nyata, 20001201 atau 112?
Saya perlu memroses data pesanan lebih lanjut berdasarkan id pesanan ini, saya menggunakan 112, 113 dll. Dan berfungsi, tetapi saya perlu mengklarifikasi hal ini.
sumber
id
= nilaisales_flat_order
kunci utama tabel. Ini ditambahkan otomatis untuk setiap pesanan yang Anda dapatkan di toko Anda. Biasanya dimulai dari 1 dan naik.increment id
= nomor "ramah pengguna" yang dihasilkan sebelum melakukan pemesanan. Itu harus unik dan digunakan oleh metode pembayaran online sebagai referensi (tetapi tidak hanya).Id kenaikan secara default terlihat seperti ini.
Jumlah nol adalah variabel. Ini ditambahkan menggunakan
str_pad
sehingga panjang id kenaikan tanpa id toko8
.sumber
eav_entity_store
. Tetapi untuk urutan pertama tidak ada catatan dalam tabel itu. Jadi seseorang diciptakan. Ketika dibuat id toko disimpan sebagaiincrement_prefix
. Lihat cara kerjanya dalam metode iniMage_Eav_Model_Entity_Type::fetchNewIncrementId
. Dimulai dengan baris:if (!$entityStoreConfig->getId()) {
.Pesanan penjualan menyimpan dua nilai, entity_id (Id Pesanan) dan increment_id (Id Peningkatan Pesanan). The entity_id adalah kunci utama pada tabel pesanan. Ini berarti Anda menggunakan ini untuk memuat entitas pesanan yang sebenarnya. Lihat di bawah
Dan dapatkan
$order->getId();
atau$order->getEntityId();
The increment_id biasanya nomor yang lebih ramah yang sering situs web / toko tertentu yaitu 20001201 2 di depan akan sering berarti bahwa itu adalah pesanan dari toko / situs web kedua Anda (tidak ingat yang mana). Ini sering disebut sebagai id urutan nyata. Anda dapat memuat entitas pesanan menggunakan increment_id ini
Dan dapatkan
sumber
Itu
order_id
, yang saya percaya sama denganentity_id
, adalah kunci utama dalam tabel sales_order yang digunakan untuk menggabungkan semua tabel EAV bersama. Ini digunakan secara internal di magento.order_increment_id
digunakan untuk ditampilkan kepada pelanggansumber