Laravel social package
A toolkit package for social networks
Installation
- Run the command below to add this package:
composer require miladimos/laravel-social
- Open your config/socials.php and add the following to the providers array:
Miladimos\Social\Providers\SocialServiceProvider::class,
- Run the command below to install package:
php artisan social:install
- Run the command below to migrate database:
php artisan migrate
Features
Tag:
First add Taggable
trait to models that you want have tags
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Miladimos\Social\Traits\Taggable;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasFactory,
Taggable;
}
Second you can work with tags:
namespace App\Http\Controller;
use App\Models\Post;
use Miladimos\Social\Models\Tag;
class YourController extends Controller
{
public function index()
{
// first you can create custom tags
$tag = Tag::create(['name' => 'tag']);
$post = Post::first();
$post->tags; // return attached tags
$post->attach($tag); // attach one tag
$post->detach($tag); // detach one tag
$post->syncTags($tags); // sync tags
$tag->taggables; // return morph relation to tagged model
}
}
tag model have soft deletes trait.
Like
Bookmark
Follow
Category
First add Taggable
trait to models that you want have attachments
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Miladimos\Social\Traits\Taggable;
class Post extends Model
{
use HasFactory,
Taggable;
}
Methods
in controllers you have these methods:
namespace App\Http\Controllers;
use App\Models\Post;
class PostController extends Controller
{
public function index()
{
$post = Post::find(1);
$post->likes // return all likes
}
}
Features
Like
Favorite
Bookmark
Follow \ Unfollow
Comment
Vote / Rate System