امین
1 سال پیش توسط امین مطرح شد
3 پاسخ

خطای Undefined variable هنگام لاگین کردن

سلام
در لاراول 10 هنگامی که لاگین میکنم صفحه ارورر با این عنوان میاد:
Undefined variable $ulinks (View: C:\xampp\htdocs\lesanolarz\resources\views\front\ulinks.blade.php)
برنامه به این صورت هستش که در صفحه اصلی می خوام هم نمونه کارها بگذارم، هم لینک های مفید که هر کدوم دارای جدول و کنترلر و مادل جداگانه هستش و از سمت بک مقداردهی میشن و البته کارها درست انجام میشن ولی وقتی می خوام لاگین انجام بدم ارورر میده و هرچقدرهم سرچ کردم به نتیجه نرسیدم.
با تشکر
controller:

<?php

namespace App\Http\Controllers\front;

use App\Models\front\Portfolio;
use App\Http\Controllers\Controller;
use App\Models\front\Ulink;

class HomeController extends Controller
{
    public function index()
    {

        $portfolios = Portfolio::orderBy('id', "DESC")->get();
        $tags = $portfolios->unique('tag');
        $ulinks=Ulink::all();
        return view('front.main', compact('portfolios', 'tags' ,'ulinks'));
    }
}

model:

<?php

namespace App\Models\front;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Ulink extends Model
{
    use HasFactory;
    protected $fillable = ['name', 'link', 'description', 'status'];
}

web:

Route::get('/', [HomeController::class, "index"])->name('home');

blade:

<div class="footer-links">
    <h4> لینک های مفید</h4>
    <ul>
        @foreach ($ulinks as $ulink)
            <li><a href="{{ $ulink->link }}">{{ $ulink->name }}</a></li>
         @endforeach
    </ul>
</div>

ثبت پرسش جدید
محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 1 سال پیش مطرح شد
0

سلام دوست عزیز
قبل ارسال unlink به ویو چک کن اگر undefined هست خودت مقدار ارایه خالی بهش بده به شکل زیر

$unlinks=$unlinks??[];

میتونی روی همون خط اصلی هم قرارش بدی

 $ulinks=Ulink::all()??[];

یا توی ویو خودت یه ایف قبل حلقه بزاری که اگر مقداری داشت unlinks بعد بیاد حلقه فور اجرا بشه
این چک کردنه یه چیز طبیعیه

وقتی داده ای نداری این مشکل پیش میاد


امین
@safaeiiam 1 سال پیش مطرح شد
1

سلام @salar.mohammad2013
خیلی ممنون، صفحه لاگین باز شد ولی تو صفحه لاگین لینک های مفید رو نمیاره


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 1 سال پیش مطرح شد
0

دوست عزیز کد شما به نظر ایرادی نداره اما احتمالا شما صفحه دیگری رو داری دنبالش میگردی و داده بهش ارسال نشده
سعی کن dd بگیری توی کنترلرت در مرحله اول ببینی اصلا داده ای داره ulink یا نه به کنترلر درست دسترسی داری یا نه
گاها تداخل روت و کنترلر ادم اشتباه میکنه
بعد چک کنی این view که بهش ارسال کردی front.main این بخش footer دقیقا توی همون ویو هست یا نه
مرحله مرحله همینطوری باید چک کنی که چرا داده نداری و نمیتونی نمایش بدی


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

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