Wie kann ich eine viele zu viele Beziehung verwenden, um Artikel von Tag in Laravel anzuzeigen?Php

PHP-Programmierer chatten hier
Guest
 Wie kann ich eine viele zu viele Beziehung verwenden, um Artikel von Tag in Laravel anzuzeigen?

Post by Guest »

Ich arbeite an einer -Blogging -Anwendung in Laravel 8 . Br />

Code: Select all

Route::get('/tag/{tag_id}', [ArticlesController::class, 'tag'])->name('tag');
Im ArtikelController Controller habe ich die methode tag () , die alle Beiträge anzeigen soll, die ein bestimmtes Tag enthalten: < Br />

Code: Select all

public function tag($tag_id)
{
$tag   = Tag::firstWhere('id', $tag_id);
$articles = Article::where('id', $tag->id)->orderBy('id', 'desc')->paginate($this->per_page);

return view(
'themes/' . $this->theme_directory . '/templates/index',
array_merge($this->data, [
'tag'   => $tag,
'articles' => $articles
])
);
}
< /code>
Es besteht eine Viele-zu-Viele-Beziehung zwischen Artikeln und Tags. Ich habe einen Artikel_Tag 
Pivot -Tabelle:

Im Tag Modell habe ich:

Code: Select all

class Tag extends Model
{
use HasFactory;

protected $fillable = ['name'];

public function article()
{
return $this->belongsToMany(Article::class);
}
}
zum Artikel Modell Ich habe die Tags () Methode
hinzugefügt

Code: Select all

public function tags()
{
return $this->belongsToMany(Tag::class)->as('tags');
}
Das Problem
Die/Tag/1 Zeigt nur einen Artikel an, und dieser Artikel ist nicht enthält Ein Tag mit der ID von 1. /> [*] Welche funktionierende Lösung erfordert eine minimale Änderung im aktuellen Code?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post