ПРИМЕЧАНИЕ: Отношение между моделью Post и Tag много-много, а отношение между пользователем и моделью Post-один-ко-многим. Все работает хорошо У меня слишком много запросов от пользователей, где users.id ... при отладке. Я хочу использовать готовую загрузку для пользовательской функции, в этой ситуации в моей функции контроллера. Как я могу использовать его как with('user')->get();
Спасибо.
Это мой маршрут web.php:
Route::get('/posts/tags/tag/{tag}', 'TagsController@show');
Это моя функция контроллера для этого:
<?php
namespace App \ Http \ Controllers;
использовать Illuminate \ Http \ Request;
использовать App \ Tag;
использовать приложение \ Post;
класс TagsController расширяет контроллер
{
public function __construct()
{
$this->middleware('auth')->except(['index']);
}
public function index(Tag $tag)
{
return view('posts.index', compact('tag'));
}
public function create()
{
return view('tags.create');
}
public function store(Request $request)
{
$this->validate(request(), [
'name' => 'required|max:255'
]);
Tag::create([
'name' => request('name')
]);
return redirect('/');
}
public function show(Tag $tag)
{
return view('tags.show', compact('tag'));
}
}
Это мой show.blade.php:
@foreach ($tag->posts as $post)
<div class="col-sm-6" >
<div class="card" style="margin-bottom:15px;">
<img class="card-img-top" src="https://neilpatel-qvjnwj7eutn3.netdna-ssl.com/wp-content/uploads/2015/07/seoimage.jpg" height="270px" alt="Card image cap">
<div class="card-body">
<h5 class="card-title">
<a href="/posts/{{ $post->id }}">
{{ $post->title }}
</a>
</h5>
<p class="card-text">
{{ substr(strip_tags($post->body), 0, 50) }}{{ strlen(strip_tags($post->body)) > 50 ? "..." : "" }}
</p>
<p class="card-text"><small class="text-muted">{{ $post->user->name }} on
{{ $post->created_at->toFormattedDateString() }}</small></p>
<hr>
<a href="/posts/{{ $post->id }}" class="btn btn-warning">Go somewhere</a>
</div>
</div>
</div>
@endforeach
Это мои запросы (изображения ниже):
ЗАПРОСЫ ИЗОБРАЖЕНИЯ 1
ЗАПРОСЫ ИЗОБРАЖЕНИЯ 2