Implementarea relatiei Multe la Multe pentru cadrul Yii 2.
- Instalare
- Caracteristici
- Crearea unui atribut editabil
- Atasarea si configurarea comportamentului
- Completarea relatiilor
- Salvarea relatiilor fara atribuire masiva
- Se adauga atributul ca sigur
- Adaugarea controlului pentru vizualizare
- Caracteristici ale relatiei
- Rularea testelor
Instalare
Modul preferat de a instala aceasta extensie este prin intermediul compozitorului.
Fie sa fugi
sau adaugati
la sectiunea de solicitare a fisierului dvs. composer.json.
Caracteristici
- Configurarea utilizand relatiile hasMany existente
- Relatii multiple
- Fara interogari suplimentare. De exemplu, daca initial modelul are 100 de inregistrari conexe, dupa adaugarea unei singure, va fi inserat exact un rand. Daca nu s-a schimbat nimic, nu vor fi executate interogari.
- Completarea automata a atributului editabil
- Validator pentru verificarea daca lista primita este valida
Crearea unui atribut editabil
Pur si simplu adaugati proprietati publice la modelul dvs. ActiveRecord astfel:
Acesta va stoca cheile primare ale inregistrarilor aferente in timpul actualizarii.
Atasarea si configurarea comportamentului
Primul mod este de a specifica in mod explicit toti parametrii:
Dar, mai des, trebuie sa afisam si modele conexe, deci este mai bine sa definim relatia pentru aceasta si sa o folosim atat pentru afisare, cat si pentru configurarea comportamentului. Ambele moduri (via si viaTable) sunt considerate valide:
Folosind viaTable:
Utilizarea via (necesita un model suplimentar pentru tabelul de jonctiune):
Comanda nu este necesara.
porno caliente porno online gratis
fontanero cachondo hombres masturbando a mujeres
pajas entre amigos torrent porno
trio amateur español madres viciosas
sexso sexporn
videos porno para mujeres gratis video sexo gratis
xxxgay abuelas folladas por el culo
maduras en grupo sexo maduras españolas
penes de abuelos mamadas españolas
jovencitos follando con maduras sexo muy duro
viejas mexicanas follando tias cachondas
porno español jovencita porno gay trios
follada en la playa tetonas españolas
mamadas en la playa comicxxx
comic porno español castin porno
videos actrices españolas desnudas españolas guarras
videos chicas gratis mamasxxx
masturbacion en grupo pareja española follando
orgias de maduros mamadas gay
incesto abuela y nieto porno online
Apoi treceti doar numele acestei relatii si toti ceilalti parametri vor fi preluati automat.
Relatii suplimentare de la multi la multi pot fi adaugate exact la fel. Retineti ca, chiar si pentru o relatie, ar trebui sa o declarati ca parte a sectiunii relatii.
Completarea relatiilor
In mod implicit, atributul editabil al fiecarui model gasit va fi completat cu ID-urile modelelor conexe (se foloseste incarcarea dornica). Daca doriti mai mult control manual, preveniti interogari suplimentare, dezactivati optiunea de completare automata:
si umpleti-l numai atunci cand este necesar, de exemplu in actiunea de actualizare a controlerului. Acesta este modul recomandat de utilizare.
Alternativ, puteti specifica conditiile de completare a inchiderii:
Chiar si este posibil sa faci asa ceva:
dar nu este recomandat pentru utilizare deoarece modelul nu este un loc adecvat pentru manipularea rutelor.
Salvarea relatiilor fara atribuire masiva
La crearea modelului:
La actualizarea modelului (‘autoFill’ => true):
La actualizarea modelului (‘autoFill’ => false, umplere manuala):
La actualizarea modelului (‘autoFill’ => false, fara umplere manuala):
In acest caz, relatiile dintre multi vor ramane neatinse.
Se adauga atributul ca sigur
Adaugati un atribut editabil la regulile modelului pentru o alocare masiva.
Indicati-l cel putin ca sigur:
Sau utilizati validator personalizat:
Validatorul verifica lista pentru a fi matrice si care contine doar chei primare prezentate in modelul asociat. Nu poate fi utilizat fara a atasa ManyToManyBehavior.
Adaugarea controlului pentru vizualizare
Adaugati control pentru a vizualiza pentru gestionarea listei conexe. Fara extensii se poate face cu selectare multipla:
Exemplu de continut al metodei getList () (trebuie plasat in modelul utilizatorului):
Caracteristici ale relatiei
Puteti accesa relatii de la mai multi la multi astfel:
utilizatorii pot fi valoarea fie a proprietatii relatiei de nume, fie a tabelului specificata in config.
Puteti completa EditableAttribute cu ID-uri ale inregistrarilor conexe, astfel:
Puteti obtine cheile primare adaugate si sterse ale modelelor conexe pentru relatii specifice, cum ar fi:
Retineti ca acestea sunt disponibile numai dupa ce modelul a fost salvat, astfel incat sa il puteti accesa dupa apelul $ model-> save () sau in handlerul de evenimente afterSave ().
Rularea testelor
Instalati dependente:
Adaugati config de baza de date (fisier tests / config / db-local.php) cu urmatorul continut:
Puteti modifica dbname, numele de utilizator si parola dupa cum doriti. Asigurati-va ca creati baza de date si utilizatorul inainte de a rula testele.
Executati teste:








