
تو دنیای واقعی خیلی وقتا با این مدل رابطه روبرو میشیم:
📌 هر کاربر میتونه چند پست داشته باشه
📌 هر دستهبندی میتونه چند محصول داشته باشه
📌 هر مقاله میتونه چند کامنت داشته باشه
این همون چیزیه که توی پایگاهداده بهش میگیم رابطه یک به چند (One to Many)
یعنی:
یک رکورد در جدول A میتونه چند رکورد در جدول B داشته باشه
ولی هر رکورد در جدول B فقط به یک رکورد از A وابستهست.
فرض کنیم دو مدل داریم:
🔹 User
🔹 Post
یعنی هر کاربر چند پست میتونه داشته باشه.
در مدل User بنویس:
public function posts() { return $this->hasMany(Post::class); }
و در مدل Post:
public function user() { return $this->belongsTo(User::class); }
حالا میتونی راحت بنویسی:
$user = User::find(1); foreach($user->posts as $post) { echo $post->title; }
و اگه بخوای پست به کاربرش دسترسی داشته باشه:
$post = Post::find(1); echo $post->user->name;
hasMany() معمولاً جمع بسته میشه (posts، comments، products)user_id داشته باشی تا مشخص بشه هر پست مال کدوم کاربرهUser::with('posts')->get();
🎯 کاربردهای رایج One to Many:
💬 تو پروژههات از این رابطه استفاده کردی؟
یا سوالی داری؟
کامنت بذار یا پست رو ذخیره کن برای استفادههای بعدی! 🚀