asddaniel/universal-laravel

v1 2023-02-12 15:14 UTC

This package is auto-updated.

Last update: 2024-05-12 20:49:07 UTC


README

laravel-universaluniversal meta model

Universal est un package Package laravel permettant de gerer vos models sans liens avec les tables de la base de données, donc pas de gestion de migrtion à chue nouveu model crée

Installation

vous pouvez installer ce package via composer:

composer require asddaniel/laravel-universal

vous devez ensuite publier les migrations des 4 tables de base avec la commande suivante

php artisan vendor:publish --tag="universal-migrations"

ceci va copier les fichiers des migrqations dans le bon dossier

Usage

pour crée un model universel vous devez lancer la commande suivante suivit du nom du model (l'exemple de Post ci-dessous)

    php artisan make:universalmodel Post

la commande va crée un nouveau model universel dans le dossier universalModels à l'interieur du dossier App.

ensuite il ne vous reste qu'à ouvrir le model et ajouter les attribut qui seront directement pris en compte dans la persistnce comme s'ils étaient des colonnes d'une table de meme nom en voici un exemple ci-dessous

<?php

declare(strict_types=1);

namespace App\UniversalModels;

use Asddaniel\UniversalLaravel\universal\UniversalModel;

class Post extends UniversalModel
{
    public $auteur;
    public $content;
}

Usage

pour lire les données il y a la méthode all et get

$posts = Post::all();// liste tous les posts
$post = Post::get(1);//récupere un post suivant son id
Post::delete(1);//supprime un post suivant son id
Post::update($array); // modifie un post avec un tableau associatif de chaque attribut avec sa valeur 
Post::update(3, ["title"=>"mon titre", "content"=>"mon contenu"]);

pour enregistrer des nouvelles données

Post::create(["title"=>"mon titre", "content"=>"contenu ajouté"]);

on lie chaque attribut à sa valeur à travers le tableau associatif

Contributing

contactez-nous pour voir comment contribuez u projet

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

la License MIT (MIT). voir License File pour plus d'information.