Autorstvo je polymorfné, takže príspevky môže písať akýkoľvek model — User, Team či Organization. Na každý model autora pridajte trait HasPosts:
use Illuminate\Foundation\Auth\User as Authenticatable;
use RoundlyConsulting\Posts\Concerns\HasPosts;
final class User extends Authenticatable
{
use HasPosts; // $user->posts (morphMany)
}Autora odovzdajte builderu Posts::draft() cez by(), priraďte ho cez morph reláciu alebo zadajte authorType a authorId v CreatePostData. Relácia posts() ide cez nakonfigurovaný model príspevku, takže na ňu priamo nadviažete scopes príspevkov:
use RoundlyConsulting\Posts\Facades\Posts;
$post = Posts::draft()->title('en', 'Hello world')->by($user)->save(); // polymorphic author
// Or on the model:
$post->author()->associate($team);
$post->save();
$post->author; // the author model (User, Team, …)
$user->posts()->published()->latest('published_at')->get();Nastavenia autora
- author.morph-name — názov relácie a prefix stĺpcov (author_type / author_id). Predvolene author.
- author.nullable — či môže príspevok existovať bez autora. Predvolene true.
- key_type — typ stĺpca author_id; musí zodpovedať kľúču vášho modelu autora (bigint, uuid alebo ulid).
- json-ld.author-attribute — atribút autora použitý ako meno autora v JSON-LD. Predvolene name.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.