Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

OpenCart:Cara mengisi oc_category_path secara akurat

Jika kategori di oc store Anda adalah kategori root, ia mendapat entri di tabel jalur seperti "category_id,category_id,0".jika kategori itu memiliki anak, ia akan mendapatkan dua entri di tabel, yaitu :-"category_id ,category_id,1" serta "category_id,parent_id,0".

Jika anak itu memiliki anaknya sendiri, anak baru itu akan memiliki tiga entri seperti :-
"category_id,category_id,2"
"category_id,parent_id,1"
"category_id,parents parent category_id,0"

Untuk mengilustrasikan ini, asumsikan suatu kategori memiliki id_kategori "14". Ini adalah anak pertama dari suatu kategori dengan id_kategori "11". Kategori itu, dengan id_kategori "11" adalah anak pada kategori dengan kategori nomor "1". (1>11>14 seperti yang ditampilkan di panel admin, kecuali dengan nama, bukan kategori_id)

Di atas akan memiliki 3 entri seperti :
"14","14","2"
"14","11","1"
"14","1" ,"0"

Jadi kategori akar untuk itu akan mendapatkan 0, yang berikutnya mendapat 1, dan berikutnya 2, dan seterusnya, semua tergantung pada berapa banyak tingkat kategori di bawahnya.

Saya harap itu menjelaskan semuanya dengan cukup baik.

Untuk cara mengisinya, cara paling sederhana, tapi bukan cara yang lengkap, adalah dengan membuat tabel dengan "category_id,category_id,0". Ini akan membuat mereka muncul di panel admin. Jika Anda kemudian mengklik "perbaiki", tabel ini akan dibuat dengan benar.

Atau Anda harus menelusuri tabel kategori Anda, membuat array dengan parent_id-nya, mencari parent_id untuk parent_id-nya dan menambahkannya ke array, dan seterusnya. Ketika array selesai, yaitu tidak ada lagi parent, akan menjadi tugas sederhana untuk menambahkannya ke tabel dengan "level" yang benar.

FYI, ada tabel lain yang perlu diisi juga, category_to_store, yang sangat sederhana "category_id,store_id". Tanpa tabel ini, Anda tidak akan melihat kategori di toko Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gambaran Umum Replikasi Cluster-to-Cluster

  2. Mengapa PHP PDO DSN format yang berbeda untuk MySQL versus PostgreSQL?

  3. MySQL Nilai tanggal waktu salah:'0000-00-00 00:00:00'

  4. Menekan output peringatan di bash

  5. Catatan paginasi pada masalah sisi Klien