rockbuzz/lara-posts

帖子管理

0.0.5 2021-08-20 15:59 UTC

This package is auto-updated.

Last update: 2024-09-20 22:18:03 UTC


README

帖子管理

Build Status

要求

PHP >=7.2

安装

$ composer require rockbuzz/lara-posts
$ php artisan vendor:publish --provider="Rockbuzz\LaraPosts\ServiceProvider" --tag="migrations"
$ php artisan migrate

配置

$ php artisan vendor:publish --provider="Rockbuzz\LaraPosts\ServiceProvider" --tag="config"
<?php

return [
    'tables' => [
        'authors' => 'users'
    ],
    'route_key_name' => 'slug',
    'models' => [
        'post' => \Rockbuzz\LaraPosts\Models\Post::class,
        'author' => \App\User::class,
    ]
];

使用

use Illuminate\Database\Eloquent\Model;
use Rockbuzz\LaraPosts\Traits\HavePosts;

class User extends Model
{
    use HavePosts;
    //
}

$author = User::find(1);
$author->posts(): HasMany
use Rockbuzz\LaraPosts\Models\Post;

$post = Post::find('uuid');
$post->author(): BelongsTo
$post->isDraft(): bool
$post->isModerate(): bool
$post->isPublished(): bool
$post->isArticle(): bool
$post->isPodcast(): bool
$post->isVideo(): bool

范围

Post::draft(): Builder
Post::moderate(): Builder
Post::approved(): Builder
Post::published(): Builder
Post::articles(): Builder
Post::podcasts(): Builder
Post::videos(): Builder
Post::latestPublished(): Builder

使用您的模型

namespace App;

use Rockbuzz\LaraPosts\Models\Post;

class YourPost extends Post
{
    //
}

//set in the configuration file
'models' => [
    'post' => \App\YourPost::class,
    //
]

许可

Lara Posts 是开源软件,遵循 MIT 许可协议