DEV Community

Arifur Rahman
Arifur Rahman

Posted on

Laravel সম্পর্কের চিটশিট

সম্পর্কের ধরন বর্ণনা উদাহরণ কোড স্নিপেট
hasOne এক প্যারেন্টের একটি চাইল্ড থাকে। User এর একটি Profile আছে public function profile() { return $this->hasOne(Profile::class); }
belongsTo একটি চাইল্ড একটি প্যারেন্টের অন্তর্ভুক্ত। Profile একটি User এর অন্তর্ভুক্ত public function user() { return $this->belongsTo(User::class); }
hasMany এক প্যারেন্টের অনেক চাইল্ড থাকে। Class এর অনেক Student আছে public function students() { return $this->hasMany(Student::class); }
belongsToMany দুটি মডেলের মধ্যে বহু-টু-গণনা সম্পর্ক। Teacher অনেক Subject পড়ান public function subjects() { return $this->belongsToMany(Subject::class); }
hasManyThrough অন্য একটি মডেলের মাধ্যমে একটি মডেলকে অ্যাক্সেস করা। Country এর অনেক Post আছে User এর মাধ্যমে public function posts() { return $this->hasManyThrough(Post::class, User::class); }
morphOne এক-টু-এক পলিমরফিক সম্পর্ক। User এর একটি Image থাকতে পারে public function image() { return $this->morphOne(Image::class, 'imageable'); }
morphMany এক-টু-অনেক পলিমরফিক সম্পর্ক। User এর অনেক Images থাকতে পারে public function images() { return $this->morphMany(Image::class, 'imageable'); }
morphedByMany বহু-টু-গণনা পলিমরফিক সম্পর্ক। Tag অনেক Post এর সাথে যুক্ত public function posts() { return $this->morphedByMany(Post::class, 'taggable'); }

মনে রাখার টিপস

  1. প্যারেন্ট-চাইল্ড ধারণা: সবসময় সম্পর্কের দিক চিন্তা করুন। hasOne এবং hasMany সম্পর্কের ক্ষেত্রে প্যারেন্ট "মালিকানা" রাখে, যখন belongsTo সম্পর্কের ক্ষেত্রে চাইল্ড "সম্পর্কিত" হয়।
  2. পলিমরফিক সম্পর্ক: মনে রাখবেন, পলিমরফিক সম্পর্ক যেমন morphOne এবং morphMany একটি মডেলকে একাধিক ধরনের মডেলের সাথে সংযুক্ত করতে সক্ষম করে একটি একক সংযোগের মাধ্যমে।
  3. বহু-টু-গণনা: belongsToMany সম্পর্কের ক্ষেত্রে, পিভট টেবিলগুলি দুটি মডেলকে সংযোগ করতে সাহায্য করে, যেখানে উভয় মডেলেই একাধিক ইনস্ট্যান্স থাকতে পারে।

এই চিটশিটটি Laravel সম্পর্কের ধরনগুলির সংক্ষিপ্ত সারসংক্ষেপ। এটি আপনার অ্যাপ্লিকেশন তৈরি করার সময় একটি দ্রুত রেফারেন্স হিসাবে ব্যবহার করুন! যদি আপনার আরও প্রশ্ন থাকে বা আরও ব্যাখ্যার প্রয়োজন হয়, তাহলে নিশ্চয়ই জিজ্ঞাসা করুন!

Top comments (0)