Ich habe eine Like/Favoriten-Funktion in meiner Anwendung implementiert, wo ein Benutzer Favorit eine Charity - das ist dann in einer Tabelle in meiner Datenbank gespeichert - das ist einigermaßen gut funktioniert.Wie wird die Liste "Favoriten/Likes" in Laravel 5.3 ausgegeben?
Wie würde ich die Benutzer-Favoritenliste auf ihrer Profilseite an sie ausgeben?
Profil ansehen (Wo ich ausgeben wollen):
<div class="favourite_section">
<div class="col-md-5 pull-right">
<div class="panel panel-default">
<div class="panel-heading">
<a href="#" class="pull-right"> Edit </a>
<h3 class="panel-title"> Your Favourites </h3>
</div>
<div class="panel-body">
<!-- Output users' favourites. -->
<h4> </h4>
</div>
</div>
</div>
Wie Controller:
<?php
namespace App\Http\Controllers;
use App\Like;
use Illuminate\Support\Facades\Auth;
class LikeController extends Controller
{
public function likePost($id)
{
$this->handleLike('App\charity', $id);
return redirect()->back();
}
public function handleLike($type, $id)
{
$existing_like = Like::withTrashed()->whereCharityImg($type)->whereCharityDesc($type)->whereCharityName($type)->whereCharityId($id)->whereUserId(Auth::id())->whereId($id)->first();
if (is_null($existing_like))
{
Like::create([
'id' => $id,
'user_id' => Auth::id(),
'charity_id' => $id,
'charity_name' => $type,
'charity_desc' => $type,
'charity_img' => $type
]);
}
else
{
if (is_null($existing_like->deleted_at))
{
$existing_like->delete();
}
else
{
$existing_like->restore();
}
}
}
}