Din pacate, acest pachet este intrerupt.

Va rugam sa verificati Varbox (Panoul de administrare Laravel) pentru aceasta functionalitate si multe altele.

  • Cumparati: https://varbox.io/buy
  • Documente: https://varbox.io/docs
  • Demo: https: //demo.varbox.test/admin
  • Repo https://github.com/VarboxInternational/varbox

Multumesc!

Duplicati orice model elocvent impreuna cu relatiile sale

  • Prezentare generala
  • Instalare
  • Utilizare
  • Personalizari
  • Evenimente

Prezentare generala

Acest pachet va permite sa copiati orice inregistrare model elocventa impreuna cu relatiile sale de baza.

Tipuri de relatii care pot si vor avea sens sa fie duplicate: hasOne, morphOne, hasMany, morphMany, apartineToMany, morphToMany

Instalare

Instalati pachetul prin Composer:

compozitor necesita neuronie / laravel-duplicat

Utilizare

Pasul 1

Modelele dvs. elocvente ar trebui sa utilizeze caracteristica Neurony \ Duplicate \ Traits \ HasDuplicates si clasa Neurony \ Duplicate \ Options \ DuplicateOptions.

Trasatura contine o metoda abstracta getDuplicateOptions () pe care trebuie sa o implementati singur.

Iata un exemplu de implementare a trasaturii:

<? php App spatiu de nume; utilizati Illuminate \ Database \ Eloquent \ Model; utilizati Neurony \ Duplicate \ Options \ DuplicateOptions; utilizati Neurony \ Duplicate \ Traits \ HasDuplicates; clasa YourModel extinde Model {use HasDuplicates; / ** * Obtineti optiunile pentru duplicarea modelului. * * @return DuplicateOptions * / functie publica getDuplicateOptions (): DuplicateOptions {return DuplicateOptions :: instance (); }}
Pasul 2

Dupa ce ati utilizat trasatura Neurony \ Duplicate \ Traits \ HasDuplicates in modelele dvs. Elocvente, puteti duplica inregistrarile modelului utilizand metoda saveAsDuplicate () prezenta pe acea trasatura.

$ model = YourModel :: find ($ id); $ duplicatedModel = $ model-> saveAsDuplicate (); // returneaza instanta de model nou duplicata

Personalizari

Excludeti anumite coloane

Atunci cand copiati un model, puteti exclude anumite coloane de la duplicarea utilizand metoda excludeColumns () in definitia metodei getDuplicateOptions ().

Campurile specificate in metoda excludeColumns () vor fi salvate cu valoarea lor implicita (nul, fals, 0 etc.)

/ ** * Obtineti optiunile pentru duplicarea modelului. * * @return DuplicateOptions * / functie publica getDuplicateOptions (): DuplicateOptions {return DuplicateOptions :: instance () -> excludeColumns (‘column_one’, ‘column_two’); }
Specificati coloane unice

Cand copiati un model, puteti salva anumite coloane intr-un format unic utilizand metoda uniqueColumns () in definitia metodei getDuplicateOptions ().

porno tens jovenes zorras
mi mujer es muy puta follada por su jefe
viejas tetonas comic maduras
chupadas mamadas a dos bocas
mamadas en la playa pollones enormes
abuelas incestos mama incesto
chantaje y lujuria se folla a su hijo
hermanas tetonas porno españa casero
enseñando a follar humillada y follada
corridas en el culo follame xxx
videos porno manga porno iberico
madres que se follan a sus hijos porno maduras en español
guarras masturbandose penes negros
peliculas x en castellano peliculas porno de viejas
amas de casa follando mamas cachondas
voyeur playa abuelos calientes
jovencitas xxx hd porno de abuelas
videos porno gratis caseros milf squirt
violada xxx mi vecina me folla
mi mujer follando porno agresivo

Campurile specificate in metoda uniqueColumns () vor fi salvate intr-un format unic prin adaugarea (n) la final.

Exemplu: numele original (1) , numele original (2)

/ ** * Obtineti optiunile pentru duplicarea modelului. * * @return DuplicateOptions * / functie publica getDuplicateOptions (): DuplicateOptions {return DuplicateOptions :: instance () -> uniqueColumns (‘column_one’, ‘column_two’); }
Excludeti relatii intregi

In mod implicit, la duplicarea unui model, toate relatiile sale „copil” (vezi Prezentare generala) sunt, de asemenea, duplicate impreuna cu acesta.

Puteti exclude duplicarea anumitor relatii utilizand metoda excludeRelations () in definitia metodei getDuplicateOptions ().

Relatiile specificate in metoda excludeRelations () nu vor fi duplicate impreuna cu modelul vizat, ceea ce inseamna ca noul model duplicat nu va avea nici o inregistrare asociata pentru relatiile specificate.

/ ** * Obtineti optiunile pentru duplicarea modelului. * * @return DuplicateOptions * / functie publica getDuplicateOptions (): DuplicateOptions {return DuplicateOptions :: instance () -> excludeRelations (‘relationOne’, ‘relationTwo’); }
Excludeti anumite coloane din anumite relatii

Atunci cand copiati un model, puteti exclude anumite coloane ale relatiilor sale „copil” de la duplicarea utilizand metoda excludeRelationColumns () in definitia metodei getDuplicateOptions ().

Aceasta metoda accepta un singur parametru care ar trebui sa fie o matrice asociativa care contine:

cheie -> numele unei

valori de relatie -> o matrice care contine coloanele care trebuie excluse pentru acea relatie

Campurile specificate in metoda excludeRelationColumns () vor fi salvate cu valoarea lor implicita (nul, fals, 0 etc.)

/ ** * Obtineti optiunile pentru duplicarea modelului. * * @return DuplicateOptions * / functie publica getDuplicateOptions (): DuplicateOptions {return DuplicateOptions :: instance () -> excludeRelationColumns ([‘relationOne’ => [‘column_one’, ‘column_two’], ‘relationTwo’ => [‘column_one ‘],]); }
Specificati coloane unice pentru anumite relatii

Cand copiati un model, puteti salva anumite coloane ale relatiilor sale „copil” intr-un format unic utilizand metoda uniqueRelationColumns () in definitia metodei getDuplicateOptions ().

Aceasta metoda accepta un singur parametru care ar trebui sa fie o matrice asociativa care contine:

cheie -> numele unei

valori de relatie -> o matrice care contine coloanele unice pentru acea relatie

Campurile specificate in metoda uniqueRelationColumns () vor fi salvate intr-un format unic prin adaugarea (n) la final.

Exemplu: numele relatiei originale (1) , numele relatiei originale (2)

/ ** * Obtineti optiunile pentru duplicarea modelului. * * @return DuplicateOptions * / functie publica getDuplicateOptions (): DuplicateOptions {return DuplicateOptions :: instance () -> uniqueRelationColumns ([‘relationOne’ => [‘column_one’, ‘column_two’], ‘relationTwo’ => [‘column_one ‘],]); }
Duplicati doar modelul vizat

Daca doriti doar sa va duplicati modelul vizat fara a dubla orice relatie, puteti specifica acest lucru utilizand metoda disableDeepDuplication () in definitia metodei getDuplicateOptions ().

Atunci cand utilizati aceasta metoda, toate relatiile de toate tipurile vor fi ignorate la duplicarea modelului.

/ ** * Obtineti optiunile pentru duplicarea modelului. * * @return DuplicateOptions * / functie publica getDuplicateOptions (): DuplicateOptions {return DuplicateOptions :: instance () -> disableDeepDuplication (); }

Evenimente

Functionalitatea duplicat este impachetata cu doua evenimente elocvente: duplicarea si duplicarea

Puteti implementa aceste evenimente in modelele dvs. Elocvente asa cum ati implementa orice alte evenimente Elocvente care vin cu cadrul Laravel.

<? php App spatiu de nume; utilizati Illuminate \ Database \ Eloquent \ Model; utilizati Neurony \ Duplicate \ Options \ DuplicateOptions; utilizati Neurony \ Duplicate \ Traits \ HasDuplicates; clasa YourModel extinde Model {use HasDuplicates; / ** * Porniti modelul. * * @return DuplicateOptions * / public static function boot () {parinte :: boot (); static :: duplicating (functie ($ model) {// logica ta aici}); static :: duplicat (functie ($ model) {// logica ta aici}); } / ** * Obtineti optiunile pentru duplicarea modelului. * * @return DuplicateOptions * / functie publica getDuplicateOptions (): DuplicateOptions {return DuplicateOptions :: instance (); }}

credite

  • Andrei Badea
  • Toti colaboratorii

Securitate

Daca descoperiti probleme legate de securitate, va rugam sa trimiteti un e-mail la [email protected] in loc sa utilizati trackerul de probleme.

Licenta

Licenta MIT (MIT). Va rugam sa consultati LICENTA pentru mai multe informatii.

Jurnal de schimbari

Va rugam sa consultati CHANGELOG pentru mai multe informatii despre ceea ce sa schimbat recent.

Contribuind

Va rugam sa consultati CONTRIBUTIA pentru detalii.