Laravel: неверный аргумент для foreach - PullRequest
0 голосов
/ 11 сентября 2018

Указан неверный аргумент для foreach ()

Функция My Controller

use App\Tag

public function index()
{
    //
    $tags = Tag::all();
    return view('tags.index')->withTags('$tags');
}

Лезвие индексного представления

@foreach ($tags as $tag)
<tr>
<th>{{ $tag->id }}</th>
<td>
<a href="{{route('tags.show', $tag->id)}}">{{ $tag- >name }}</a>
</td>
</tr>
@endforeach

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

используйте compact проще и проще, попробуйте следующий код:

public function index()
{
    //
    $tags = Tag::all();
    return view('tags.index',compact('tags'));
}

, если вы хотите использовать с , тогда попробуйте следующий код:

public function index()
    {
        //
        $tags = Tag::all();
        return view('tags.index')->with('tags',$tags);
    }

в клинке вы можете делать то, что вы делаете, или вы можете использовать forelse попробуйте следующий код:

@forelse($tags as $tag)
<tr>
<th>{{ $tag->id }}</th>
<td>
<a href="{{route('tags.show', $tag->id)}}">{{ $tag- >name }}</a>
</td>
</tr>
@empty
<div class='alert alert-danger'>
  No tags..!
</div>
@endforelse
0 голосов
/ 11 сентября 2018

Просто удалите одинарные кавычки и Tags в withTags('$tags'), чтобы получилось:

public function index()
{
    $tags = Tag::all();
    return view('tags.index')->with('tags', $tags);
}

, или вы можете использовать compact и делать то, что сказал Салман.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...