получать сообщения по своим тегам в laravel - PullRequest
0 голосов
/ 05 июня 2018

Теперь я показываю теги каждого поста в своем блейде. Я хочу сделать какой-то поиск по моим тегам (возьмите изображение ниже в качестве образца)

screen 1

Я хочу, чтобы пользователи нажимали на laravel теги результата каждого сообщения с тегом laravel, чтобы показать им.

Вопрос

  1. Как мне сделать эту функцию?

Код

posts model

public function tags(){
   return $this->belongsToMany(Tag::class);
}

tags model

public function posts(){
   return $this->belongsToMany(Post::class);
}

1 Ответ

0 голосов
/ 05 июня 2018

Попробуйте что-то вроде этого:

Post::whereHas('tags', function($query) use ($tag) {
    $query->where('title', $tag);
})->get();

Где $tag будет заголовком вашего тега.

Ссылка: https://laravel.com/docs/5.6/eloquent-relationships#querying-relationship-existence

Пример привязки модели маршрута изнутриRouteServiceProvider:

public function boot()
{
    parent::boot();

    Route::patterns([
        'tag_title' => '[a-z]+',
    ]);

    Route::get('posts/{tag_title}', function ($tag_title) {
        return Tag::where('title', $tag_title)->firstOrFail();
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...