неопределенная переменная foreach laravel - PullRequest
1 голос
/ 01 ноября 2019

просмотр

@foreach($post as $ps)
    <div class="card">
        <div class="card-header">
            <img src="{{asset('img/python.png')}}" class="circle" width="20" height="20">&nbsp;<b style="color:black;">{{ Auth::user()->name }}</b>
        </div>
        <div class="card-body">
            <center><img src="{{ str_replace('public/', '', $ps->image) }}" alt="" style="width: 100%;" height="320"></center>
        </div>
        <div class="card-footer text-muted">
            <b style="color:black;">{{ Auth::user()->email }}</b><br>
            {{$ps->caption}}
        </div>
    </div>
    <br><br>
@endforeach

контроллер

public function index()
{
    $post=Post::all();

    // dd($id);
    return view('home', $post);
}

ошибка

post (Просмотр: D: \ xampp \ htdocs \ bima_1202174034 \ Modul5 \ resources \ views \ home.blade.php)

Ответы [ 3 ]

2 голосов
/ 01 ноября 2019

Вы должны использовать

public function index()
{
    $post=Post::all();
    return view('home', compact('post'));
}

или

 return view('home')->with('post', $post);

для хорошей практики использования

public function index()
{
    $posts = Post::all();
    return view('home', compact('posts'));
}

в поле зрения

@foreach($posts as $ps)
     //your logic 
@foreach
1 голос
/ 01 ноября 2019

Существует множество способов передать variable в view из controller, но всегда используйте compact для передачи variable из controller в view, например,

public function index()
{
        $post = Post::all();

        // dd($id);
        return view('home', compact('post'));
}

Вузнать больше об этом любезно посетите документы, чтобы узнать больше о Передача данных в представления

Спасибо

0 голосов
/ 01 ноября 2019

вам нужно изменить код

public function index()
{
        $post = Post::all();

        return view('home', $post)  //This is not perfect way

        return view('home', compact('post'));//This is right way
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...