model potrebuje volat iny model

pn-pm
Člen | 13
+
0
-

mam model Users s tabulkou users, ale potrebujem v nom spravit fn ktora skotroluje iny model – uzivatelove adresy – to mam spravene ako iny samostatny model, s inou tbaulkou aj s funkciami ktore potrebujem zavolat

momentalne mam model Users, kde potrebujem upravit i userovu Adresu v inej tabulke

 use models\Table\Table,
 	Nette\Utils\Strings,
 	Addresses as Addresses // DIVNE, MUSI BYT TO as
 ;

class Users extends Table {
	...
	function updateUserAddresses(){
	 	$A = new Addresses ($this->context->getConnection(), $this->context);
	 	$A->updateOrCreate( array( 'id'=>.. , 'street'=>'...'));
 	..

vidim ze context je deprecated, ako teda spravne jeden tabulkovy model zavolam z ineho modelu korektne bez pouzitia contextu?
Nejaky priklad by velmi bodnul.

Editoval pn-pm (21. 7. 2022 12:22)

pn-pm
Člen | 13
+
0
-

je moznost samozrejme i

$this->context->table( 'adresy' )
	->where(array('id'=>...))
	->update(array(.....));

ale i tu je pouzity deprecated context, a oproti spomenutemu reseni nemam dostupne metody z druheho modelu

Editoval pn-pm (21. 7. 2022 12:19)

Lumeriol
Generous Backer | 56
+
0
-

pn-pm napsal(a):

ale i tu je pouzity deprecated context, a oproti spomenutemu reseni nemam dostupne metody z druheho modelu

  1. deprecated Context nahrad tridou Explorer, ktera context nahrazuje tusim od verze Nette Database 3.1
  2. tridu Addresses si predej v konstruktoru tridy Users, pak budes moci zavolat si jakoukoliv metodu z te tridy.