حل مشکل خطای Undefined variable

5 ماه پیش توسط منصور احمدی آپدیت شد
آفلاین
user-avatar
پایان جهان ( 146905 تجربه )
4 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول - کمک انباردار شرکت فلانی

لینک کوتاه اشتراک گذاری

0

درود دوستان..
این مشکل برام حل کنید دهنم صاف شد...

Route::resource('/forum','ForumController');
public function index()
    {
        $forum = Forum::all();
        return view('forum.index')->withForum($forum);
    }
@foreach($forum as $forum)
<article class="well well-sm">
    <div class="row">
        <section class="col-md-۷ title">
            <a href="#">{{ $forum->title }}</a>
        </section>
        <section class="col-md-۵ bio">
            <span class="label label-primary">پاسخ : ۱۰</span>
            <span class="label label-info">تشکر : ۱۰۰</span>
            <span class="label label-success">RaymondDragon</span>
        </section>
    </div>
</article>
@endforeach 
 ErrorException (E_ERROR)
Undefined variable: forum (View: /opt/lampp/htdocs/forum/resources/views/forum/includes/post-list.blade.php) (View: /opt/lampp/htdocs/forum/resources/views/forum/includes/post-list.blade.php)
<?php $__currentLoopData = $forums; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $forum): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
<article class="well well-sm">
    <div class="row">
        <section class="col-md-۷ title">
            <a href="#"><?php echo e($forum->title); ?></a>
        </section>
        <section class="col-md-۵ bio">
            <span class="label label-primary">پاسخ : ۱۰</span>
            <span class="label label-info">تشکر : ۱۰۰</span>
            <span class="label label-success">RaymondDragon</span>
        </section>
    </div>
</article>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
آفلاین
user-avatar
سیدعلی موسوی ( 147558 تجربه )
4 سال پیش
تخصص : سی شارپ و پی اچ پی

لینک کوتاه اشتراک گذاری

0

خطا نبودن متغییره

از compact در ارسال مقادیر به ویو استفاده کن ببین حل میشه

آفلاین
user-avatar
پایان جهان ( 146905 تجربه )
4 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول - کمک انباردار شرکت فلانی

لینک کوتاه اشتراک گذاری

0

@juza۶۶
از کامپک استفاده کردم کار نکرد

public function index()
    {
        $forum = Forum::all();
        return view('forum.index',compact('forum'));
    }
آفلاین
user-avatar
سیدعلی موسوی ( 147558 تجربه )
4 سال پیش
تخصص : سی شارپ و پی اچ پی

لینک کوتاه اشتراک گذاری

0

یه s بنداز اخر متغییرت با مدل تفاوتش بده

آفلاین
user-avatar
پایان جهان ( 146905 تجربه )
4 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول - کمک انباردار شرکت فلانی

لینک کوتاه اشتراک گذاری

0

@juza۶۶
انجام دادم کار نمی کنه...

آفلاین
user-avatar
سیدعلی موسوی ( 147558 تجربه )
4 سال پیش
تخصص : سی شارپ و پی اچ پی

لینک کوتاه اشتراک گذاری

0

با dd یا var_dumpچک کن ببین متغییرت پرمیشه ؟ چی برمیگردونه؟ کالکشن یا ارایه؟؟

آفلاین
user-avatar
علیرضا بهمئی ( 17354 تجربه )
4 سال پیش
تخصص : برنامه نویس

لینک کوتاه اشتراک گذاری

0

تو تابع index بنویس forums$ (با s)
تو view توی foreach بنویس forums as $forum$

آفلاین
user-avatar
پایان جهان ( 146905 تجربه )
4 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول - کمک انباردار شرکت فلانی

لینک کوتاه اشتراک گذاری

0

درست نشد..انگار باید پروژه از نو بنویسم

آفلاین
user-avatar
حسام موسوی ( 473587 تجربه )
4 سال پیش
تخصص : طراح و برنامه نویس

لینک کوتاه اشتراک گذاری

0

کدتون رو اینطوری بنویسید مشکلتون حل میشه

// Controller
public function index()
{
    $forums = Forum::all();
    return view('forum.index' , compact('forums'));
}

// View
@foreach($forums as $forum)
    <article class="well well-sm">
        <div class="row">
            <section class="col-md-7 title">
                <a href="#">{{ $forum->title }}</a>
            </section>
            <section class="col-md-5 bio">
                <span class="label label-primary">پاسخ : 10</span>
                <span class="label label-info">تشکر : 100</span>
                <span class="label label-success">RaymondDragon</span>
            </section>
        </div>
    </article>
@endforeach
آفلاین
user-avatar
پایان جهان ( 146905 تجربه )
4 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول - کمک انباردار شرکت فلانی

لینک کوتاه اشتراک گذاری

0

@حسام موسوی
درود...متغییر رو نمی شناسه همین خطای بالا میده...

آفلاین
user-avatar
منصور احمدی ( 50 تجربه )
5 ماه پیش

لینک کوتاه اشتراک گذاری

0

دوست من،
تابع index در کنترلر وظیفه نمایش اطلاعات تمامی پست هارو داره،
کد شما مشکلی نداره، اما چیزی که جا انداختید بیان کنید این هستش که شما وقتی میخواید یک مطلب یا پاسخ جدید ایجاد کنید با این خطا مواجه میشید.
در هنگام ایجاد یک مطلب یا داده جدید شما تابع index رو فراخونی نمیکنید، بلکه تابع store رو فراخونی میکنید.
پس متغییر posts رو در تابع store هم کامپکت کنید.

public function store(Request $request) {
    // ذخیره پست
    $post = new Post();
    $post->title = $request->input("title");
    $post->description = $request->input("description");
    $post->save();

    $posts = Post::all(); //دریافت پست ها
    return view("posts.index", compact($posts)); // ارسال اطلاعات پست ها به فایل blade ایندکس با استفاده از کامپکت
}

با تشکر

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.