У меня есть две таблицы, пользователи и таблица сообщений, которые связаны друг с другом в Laravel 5.5. Я хочу показать только сообщения, связанные с логином.
У меня есть PostController, где я получаю логин текущего пользователя и передаю его в view index.php. В представлении index.php я пытаюсь получить и зациклить сообщения, связанные с пользователем входа в систему, используя @foreach.
См. Ниже мои примеры кодов.
PostController
public function index()
{
$currentuser = Auth::user();
return view('posts.index')->withCurrentuser($currentuser);
}
index.php view
@foreach ($currentuser->posts as $post)
<tr>
<td>{{ $post->id }}</td>
<td>{{ $post->title }}</td>
<td>{{ substr(strip_tags($post->body), 0, 40) }}{{ strlen(strip_tags($post->body))>40 ? "..." : "" }}</td>
<td>{{ date('M j, Y', strtotime($post->created_at)) }}</td>
<td><a href="{{ route('posts.show', $post->id) }}" class="btn btn-outline-blue btn-sm">View</a> <a href="{{ route('posts.edit', $post->id)}}" class="btn btn-sm btn-outline-blue">Edit</a></td>
</tr>
@endforeach
User.php Модель
protected $table = 'users';
public function post(){
return $this->hasMany('App\Post');
}
Post.php Модель
public function users(){
return $this->belongsTo('App\User');
}
Я получаю сообщение об ошибке
В foreach указан неверный аргумент ()
Где может быть проблема?