راکت
حل شده

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

3 پاسخ

سلام
در لاراول 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="https://roocket.ir/{{ $ulink->link }}">{{ $ulink->name }}</a></li>
         @endforeach
    </ul>
</div>
ثبت پرسش جدید

پاسخ‌ها

3
محمد رضا
محمد رضا
@salar.mohammad2013

تخصص: Full Stack Developer

بهترین پاسخ

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

$unlinks=$unlinks??[];

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

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

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

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

امین
امین
@safaeiiam

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

محمد رضا
محمد رضا
@salar.mohammad2013

تخصص: Full Stack Developer

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

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

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

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