Skip to content
This repository has been archived by the owner on Aug 20, 2023. It is now read-only.

Latest commit

 

History

History
63 lines (55 loc) · 2.41 KB

README_TR.md

File metadata and controls

63 lines (55 loc) · 2.41 KB

Favoriteable

Bir model kaynağını, favorilere ekleme veya hatırlamak için kaydetme gibi farklı kullanım özelliklerinin kolayca uyarlanabilmesine imkan tanıyan, Laravel tabanlı yapılar için basit ve kullanışlı trait yapısı.

GitHub license GitHub release (latest by date) stable

Kurulum

  • Migration dosyasını kullanarak veri tabanı için gerekli tabloları oluşturun; php artisan migrate
  • Favoriteable trait dosyasını, kullanmak istediğiniz model dosyalarına ekleyiniz;
<?php
namespace App\Post;

use CodeForms\Repositories\Favorite\Favoriteable;
use Illuminate\Database\Eloquent\Model;
/**
 * 
 */
class Post extends Model 
{
	use Favoriteable;
}

Kullanım

<?php
$post = Post::find(1);

$post->hasFavorite(); // ilgili $post için mevcut kullanıcının (auth()->user()) favori kaydını sorgular
$post->addFavorite(); // ilgili $post'u mevcut kullanıcı için 'favori' olarak kaydeder
$post->unFavorite(); // ilgili $post'un mevcut kullanıcıya ait 'favori' kaydını siler
$post->toggleFavorite(); // ilgili $post için kullanıcının 'favori' kaydı varsa siler, yoksa yeni bir kayıt oluşturur
$post->deleteFavorites(); // $post'a ait tüm favori kayıtlarını siler
$post->favorites()->count(); // $post'u favori olarak kaydeden toplam kullanıcı/kayıt sayısı

  • (Tercihen) UserFavorites trait dosyasını User model'a ekleyin; UserFavorites trait dosyası, kullanıcıların favori olarak kaydettiği kayıtları object olarak almayı sağlar.
<?php
namespace App;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use CodeForms\Repositories\Favorite\UserFavorites;

class User extends Authenticatable
{
    use Notifiable, UserFavorites;

UserFavorites kullanımı

<?php
$user = User::find(1);

$user->favorites(); // bir kullanıcının tüm favori kayıtlarını object olarak alır
$user->hasFavorite(); // bir kullanıcının favori kaydını sorgular
$user->deleteFavorites(); // bir kullanıcıya ait tüm favori kayıtlarını siler