Ich habe Beiträge und diese Beiträge können von Benutzern gespeichert werden, um später zu lesen. Ich habe diese Beziehung erstellt und kann sie leicht speichern oder löschen. Das Problem ist, dass ich nicht überprüfen kann, ob der Post im Frontend gespeichert ist oder nicht. Jetzt habe ich einen Code geschrieben, aber das scheint nicht zu funktionieren. hier ist mein Controller-Code:Laravel versucht zu überprüfen, ob der Benutzer eine Beziehung mit dem Beitrag hat
$articleFlag = 1;
$userID = Auth::User()->id;
if (count($bestarticles) > 0) {
foreach ($bestarticles as $bestarticle) {
$saveddata = DB::table('savearticle')->where('user_id', $userID && 'article_id', $bestarticle);
if (count($saveddata) > 0) {
$articleFlag = 1;
} else {
$articleFlag = 2;
}
} //foeach endes here
} //first if endes here
und als ich die $articleFlag
zur Ansicht übergeben, als es Wert mit einem if
Kontrolle Aber das Problem ist, egal was ich if (count($bestarticles) > 0)
kehrt wahr machen und ich Wert 1 in Sicht . Hat jemand eine Idee, was ich vermisse?
Hier ist mein Benutzer-Controller relationshio:
function savedarticle(){
return $this->belongsToMany('App\User', 'savearticle', 'user_id',
'article_id');
}
und hier geht die Funktionen, die ich verwenden für das Speichern und Löschen:
function savethearticle(Article $article){
$this->savedarticle()->syncWithoutDetaching([$article->id]);
}
function removethearticle(Article $article){
$this->savedarticle()->detach([$article->id]);
}
Aber es gibt nichts, was man sich Sorgen machen müssen. Ich kann löschen und hinzufügen.
Oder gibt es eine andere Möglichkeit, nach bestehenden Beziehungen zu suchen oder eine bessere Möglichkeit, sie im Controller zu überprüfen und in Sicht zu bringen?
Ich benutze Laravel 5.4.
danke für die besser lesbar. Mein Braind funktioniert heutzutage nicht besonders gut:/ – Nikonah
Kannst du deine 'User'- und' Article'-Modelle posten, so können wir die Beziehungen zwischen ihnen sehen. – fubar
@fubar Ich habe es hinzugefügt. Aber ich kann schon löschen und hinzufügen, da gibt es kein Problem damit. Ich kann die Schaltfläche Speichern oder Löschen nicht anzeigen, je nachdem, ob der Benutzer den Beitrag bereits gespeichert hat oder nicht – Nikonah