<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Amir Iqbal</title>
        <link>https://virgool.io/feed/@vuevel</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-04-14 04:57:43</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/3994711/avatar/avatar.png?height=120&amp;width=120</url>
            <title>Amir Iqbal</title>
            <link>https://virgool.io/@vuevel</link>
        </image>

                    <item>
                <title>🔁 رابطه یکه به چند(One to Many) در لاراول — وقتی هر &quot;یکی&quot; چندتا داره!</title>
                <link>https://virgool.io/@vuevel/%D8%B1%D8%A7%D8%A8%D8%B7%D9%87-%DB%8C%DA%A9%D9%87-%D8%A8%D9%87-%DA%86%D9%86%D8%AFone-to-many-%D8%AF%D8%B1-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%D9%88%D9%82%D8%AA%DB%8C-%D9%87%D8%B1-%DB%8C%DA%A9%DB%8C-%DA%86%D9%86%D8%AF%D8%AA%D8%A7-%D8%AF%D8%A7%D8%B1%D9%87-dreg69t7r849</link>
                <description>تو دنیای واقعی خیلی وقتا با این مدل رابطه روبرو می‌شیم:📌 هر کاربر می‌تونه چند پست داشته باشه📌 هر دسته‌بندی می‌تونه چند محصول داشته باشه📌 هر مقاله می‌تونه چند کامنت داشته باشهاین همون چیزیه که توی پایگاه‌داده بهش می‌گیم رابطه یک به چند (One to Many)یعنی:یک رکورد در جدول A می‌تونه چند رکورد در جدول B داشته باشهولی هر رکورد در جدول B فقط به یک رکورد از A وابسته‌ست.📦 پیاده‌سازی در لاراولفرض کنیم دو مدل داریم:🔹 User🔹 Postیعنی هر کاربر چند پست می‌تونه داشته باشه.در مدل User بنویس:public function posts() {
    return $this-&gt;hasMany(Post::class);
}و در مدل Post:public function user() {
    return $this-&gt;belongsTo(User::class);
}حالا می‌تونی راحت بنویسی:$user = User::find(1);
foreach($user-&gt;posts as $post) {
    echo $post-&gt;title;
}و اگه بخوای پست به کاربرش دسترسی داشته باشه:$post = Post::find(1);
echo $post-&gt;user-&gt;name;🚀 نکته‌های مهم:اسم تابع در hasMany() معمولاً جمع بسته می‌شه (posts، comments، products)تو جدول posts باید user_id داشته باشی تا مشخص بشه هر پست مال کدوم کاربرهاگه می‌خوای عملکرد رو بهتر کنی از Eager Loading استفاده کن:User::with(&#039;posts&#039;)-&gt;get();🎯 کاربردهای رایج One to Many:دسته‌بندی → محصولاتکاربر → پست‌هاوبلاگ → نظراتفروشگاه → سفارش‌ها💬 تو پروژه‌هات از این رابطه استفاده کردی؟یا سوالی داری؟کامنت بذار یا پست رو ذخیره کن برای استفاده‌های بعدی! 🚀</description>
                <category>Amir Iqbal</category>
                <author>Amir Iqbal</author>
                <pubDate>Mon, 05 May 2025 10:59:35 +0330</pubDate>
            </item>
                    <item>
                <title>رابطه One To One در لاراول – ساده، تمیز، کاربردی!</title>
                <link>https://virgool.io/@vuevel/%D8%B1%D8%A7%D8%A8%D8%B7%D9%87-one-to-one-%D8%AF%D8%B1-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%D8%B3%D8%A7%D8%AF%D9%87-%D8%AA%D9%85%DB%8C%D8%B2-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-f1vv0fm7fyxm</link>
                <description>🔍 رابطه One To One در لاراول یعنی چی؟تو پایگاه‌داده‌ها، وقتی می‌خوای بین دو جدول فقط یک به یک رابطه باشه، از رابطه یک‌به‌یک (One To One) استفاده می‌کنی. یعنی چی؟ هر رکورد از جدول A دقیقاً با یک رکورد در جدول B مرتبطه، و برعکس.مثال؟تصور کن توی سیستم کاربری‌ات، هر کاربر فقط یک پروفایل داره. نه بیشتر، نه کمتر.یا مثلاً هر کاربر فقط یک کارت ملی، یا یک تنظیمات امنیتی اختصاصی.خب حالا چطور این رابطه رو توی لاراول تعریف کنیم؟ خیلی ساده:📌 در مدل User (کاربر):phpCopyEditpublic function profile() {
    return $this-&gt;hasOne(Profile::class);
}📌 و در مدل Profile (پروفایل):phpCopyEditpublic function user() {
    return $this-&gt;belongsTo(User::class);
}📦 حالا خیلی شیک و تمیز می‌تونی بنویسی:phpCopyEdit$user = User::find(1);
echo $user-&gt;profile-&gt;bio;✨ نکته حرفه‌ای:اگر بخوای با یک کوئری هم کاربر و هم پروفایل رو بگیری (برای جلوگیری از N+1 problem)، می‌تونی از Eager Loading استفاده کنی:phpCopyEditUser::with(&#039;profile&#039;)-&gt;get();🎯 کاربرد واقعی رابطه One To One:هر کاربر یک پروفایل داره ✅هر کاربر یک شماره تماس داره ✅هر سفارش یک فاکتور داره ✅هر فروشگاه یک آدرس اصلی داره ✅🔐 حتی بعضی وقت‌ها برای جدا کردن اطلاعات حساس مثل توکن‌های امنیتی، تنظیمات دو مرحله‌ای و... از این رابطه استفاده می‌شه تا امنیت و ساختار بهتر حفظ بشه.📌 تو هم تجربه‌ای از این رابطه تو پروژه‌هات داری؟کامنت بذار یا پست رو با کسی که تازه با لاراول شروع کرده به اشتراک بذار 💬❤️</description>
                <category>Amir Iqbal</category>
                <author>Amir Iqbal</author>
                <pubDate>Mon, 05 May 2025 09:59:39 +0330</pubDate>
            </item>
                    <item>
                <title>روابط مدل‌ها در لاراول</title>
                <link>https://virgool.io/@vuevel/model-relationship-gljmxizvtz6w</link>
                <description>روابط مدل‌ها در لاراولسلام دوستان. من امیر اقبال هستم. برنامه‌نویس و توسعه‌دهنده وب. توی این مقاله قصد دارم رابطه یا Relationship ها توی لاراول رو بررسی کنیم.🔥 روابط در لاراول؛ قلب تپنده‌ی Eloquent! 🔥در دنیای لاراول، مدل‌ها فقط نگهدارنده‌ی داده نیستند؛ اون‌ها با هم صحبت می‌کنن! 😎🔁 One To One📦 One To Many📚 Many To Many🔄 Has Many Through🔎 Morph One / Many (Polymorphic)هر کدوم از این روابط، یک سناریوی واقعی از دیتابیس رو منعکس می‌کنن؛ از ارتباط کاربر و پروفایلش، تا پست‌ها و تگ‌هایی که بهشون وصله!✅ با تعریف درست روابط:کوئری‌ها خواناتر و تمیزتر می‌شننیاز به Joinهای پیچیده کمتر می‌شهقابلیت استفاده از eager loading بالا می‌رهو از همه مهم‌تر، توسعه‌ی پروژه لذت‌بخش‌تر می‌شه! 🚀📌 توی پست‌های بعدی، هر کدوم از این روابط رو با مثال واقعی بررسی می‌کنم.منتظر باش! 😉</description>
                <category>Amir Iqbal</category>
                <author>Amir Iqbal</author>
                <pubDate>Mon, 05 May 2025 09:16:31 +0330</pubDate>
            </item>
            </channel>
</rss>