راکت

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

11 پاسخ

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

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(); ?>
رایموند
رایموند
@Raymond
ثبت پرسش جدید

پاسخ‌ها

11
سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

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

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

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

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

شاید پاسخ شما همین‌جا باشد

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

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

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

علیرضا بهمئی
علیرضا بهمئی
@bahmei.alireza

تخصص: برنامه نویس

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

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

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

حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

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

// 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
رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

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

منصور احمدی
منصور احمدی
@mansour.fik

دوست من،
تابع 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 ایندکس با استفاده از کامپکت
}

با تشکر

منیر شعبانی
منیر شعبانی
@monirehshabani51604

سلام خطای Warning: Undefined variable $i in C:\xampp\htdocs\sportshop.ir\wp-content\plugins\parsi-font\includes\plugin-theme-options.php on line 7 موقع نصب افزونه ماندگار برای چیست؟

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام