Laravel Migration Column nestedSet
🔍 ব্যাখ্যা: $table->nestedSet();
কী করে?
এই লাইনটি Kalnoy/Nestedset নামে পরিচিত Laravel এর একটি প্যাকেজের ফাংশন। এই প্যাকেজটি একটি efficient structure দেয় যাতে parent-child relationship (e.g., folders inside folders) রাখা যায়।
এই কমান্ডটি মূলত নিচের মত ৩টি কলাম তৈরি করে:
এগুলো মিলিয়ে একটা Nested Set Tree Structure তৈরি করে।
🗂 উদাহরণ: কেন এটা দরকার?
ধরো তুমি এমন একটা ফাইল ম্যানেজমেন্ট সিস্টেম বানাচ্ছো যেখানে:
-
"Root Folder"
-
"Folder A"
-
"Subfolder A1"
-
"Subfolder A2"
-
-
"Folder B"
-
"Subfolder B1"
-
-
এই ধরণের multi-level folder structure যদি তুমি traditional parent_id দিয়ে রাখো, তাহলে query করতে হলে recursion বা multiple joins লাগবে।
Nested set structure ব্যবহার করলে এই পুরো tree একসাথে query করা যায় খুব efficiently।
🧩 কোথা থেকে আসে $table->nestedSet()
?
এই ফাংশন Laravel default migration এ থাকে না। এটা আসে এই প্যাকেজ থেকে:
এই প্যাকেজ install করা থাকলে তুমি $table->nestedSet()
ব্যবহার করতে পারো।
✅ সারাংশ:
বিষয় | ব্যাখ্যা |
---|---|
$table->nestedSet() | একটি helper method যা _lft , _rgt , এবং parent_id কলাম তৈরি করে |
উদ্দেশ্য | Hierarchical data structure (like folder trees) efficiently store ও query করার জন্য |
প্রয়োজনীয় প্যাকেজ | kalnoy/nestedset |
Alternative | নিজে হাতে parent_id দিয়ে recursive query করা (slow & complex) |
No comments