Wywołanie funkcji z controllera A w controllerze B [Laravel]

Odpowiedz Nowy wątek
2019-03-29 23:35
0

Cześć,
próbuję napisać pierwszą aplikację wykorzystując Laravela i pojawił się problem, na rozwiązanie którego nie mam pomysłu. Mianowicie mam zrobionego klasycznego CRUDa i działa on na dajmy na to modelu A. Do tego mam model B z innymi polami, w którym występuje jedynie id modelu A i chciałbym, żeby te dwie tabele były tym polem ze sobą powiązane. Dodatkowo w modelu A występuje parametr liczbowy określający ile nowych elementów powinno zostać utworzonych w tabeli modelu B. Czyli jeśli parametr będzie dajmy na to równy 3, to chciałbym, żeby w tabeli B utworzone zostały 3 nowe elementy. W jaki sposób taki efekt najłatwiej uzyskać? Myślałem, żeby ten parametr liczbowy przekazać do funkcji w controllerze modelu B.

Pozostało 580 znaków

2019-03-30 02:01
1

Jesteś świadom, że możesz tworzyć swoje inne klasy, a nie tylko te, które są klasami opisanymi w dokumentacji?

jako programista laravel, a nie php, pewnie nie :D - czysteskarpety 2019-03-30 10:47

Pozostało 580 znaków

2019-03-30 08:32
0

W sumie to możesz użyć traita i skorzystać z niego w obu kontrolerach.

Pozostało 580 znaków

2019-03-30 10:39
0

Ok, poczytam na temat traita. Generalnie cały problem polega na tym, że jak sobie tworzę elementy w tabeli A, to chciałbym jednocześnie, żeby dodawały się elementy do tabeli B z modelu B - być może jest do tego jeszcze jakieś inne podejście, prostsze i bardziej sensowne?

Pozostało 580 znaków

2019-03-30 11:05
1

W sumie to co robisz wg mnie nadawałoby się do ekstrakcji do jakiejś metody w serwisie. Tam będzie przekazywał dane z kontrolera i wykonywał zapytanie do tabeli A i B. Będziesz mógł tam wykorzystać metody do zapisu z modelu A i z modelu B.

Pozostało 580 znaków

2019-03-30 13:28
0

1) w kontrolerze nie powinno się używać metod prywatnych
2) do metody kontrolera możesz wstrzyknąć więcej niz jeden model
3) jeśli potrzebujesz napisać metodę w kontrolerze na więcej niż te 30-40 linii to lepiej utworzyć osobną klase która obsłuży to a ty w kontrolerze tylko wywołasz metodę z tej klasy.

Pozostało 580 znaków

2019-05-12 14:59
0

A wywołaj sobie tak:

app('App\Http\Controllers\jakisKontrollerB')->twojaMetoda();
gratuluje namawiania do najgorszych praktyk - mr_jaro 2019-05-12 15:22
Nawet nie wiedziałeś, że tak się da. Pytanie nie było jaka praktyka jest najlepsza żeby wywołać funckje z kontrolera B w kontrolerze A tylko Jak wywołać. Więc dałem odpoweidź i do nieczego nie namawiam - fporzo 2019-05-12 16:18
@fporzo: na tym forum nie podajemy gdy coś da, tylko poprawne rozwiązania tak by ktoś się nie uczył złych praktyk i siedząc w pracy żebyśmy nie musieli odrzucać pr od juniorów którzy takie kwiatki robią w commitach. - mr_jaro 2019-05-12 16:20
Skoro w laraverze mozesz tak zrobic jak napsialem to znaczy ze nie jest to zla praktyka. Moze to wlasnie jest dobre rozwiazanie. Kto ci wmowil ze tak jest zle ? bo kto tak powiedzial ? Nazwisko. Powielasz tylko to co mowili inni i myslisz ze masz racje. - fporzo 2019-05-12 16:38
@fporzo: :) popracuj w jakiejś firmie normalnej a nie januszsofcie przez 2-3 miesiące a będziesz wiedział jak bardzo to są złe praktyki. Framework to narzędzie daje wiele możliwości co nie znaczy, że są dobre, niektóre wynikają zwyczajnie z architektury i stosuje się je do pewnych rzeczy do innych nie powinno, pomimo że się da. - mr_jaro 2019-05-12 17:02

Pozostało 580 znaków

2019-05-12 17:01
0

Skoro w laraverze mozesz tak zrobic jak napsialem to znaczy ze nie jest to zla praktyka. Moze to wlasnie jest dobre rozwiazanie. Kto ci wmowil ze tak jest zle ? bo kto tak powiedzial?

Ja prdl...

Nie chciałbym robić Ci CRki, bo by mnie chyba szlag trafił z takim podejściem...

a co to jest CRka ? - fporzo 2019-05-12 18:14

Pozostało 580 znaków

2019-05-12 17:04
1

@serek pamiętam taką osobę, potrafiła na scrumie się kłócić o takie rzeczy z TL :D Popracował miesiąc. Potem jeszcze pisał groźby do TL, że to jego wina, że wyleciał :D

Pozostało 580 znaków

2019-05-12 18:17
1

Kiedyś mówili że

<a onclik="function()">haha</a>

Więc od tego odeszli, ale pojawił się Angular i nagle wszyscy znowu do tego wrócili troche pod inna nazwą i nagle jest ok, jeszcze to chwalą. Tak jak wy. Teraz piszecie ,że to źle nie mając pojęcia czemu i czy tak jest ale tak gdzieś ktoś powiedział. Ale jak za chwile napiszą, że tak jest najlepiej to będziecie mówić że to dobrze. hyhyhy Takie Hipokryzja IT :D jakby miał takich szefów to sam bym odszedł bo by mnie szlag trafił z podejściem panów najmądrzejszych co nic nie wiedzą.

Pozostało 580 znaków

2019-05-12 18:18
1

@fporzo: z bardzo prostego powodu - sprawdź sobie do czego służy kontroler a będziesz wiedział czemu to jest złe.

Powiedz gdzie pracujesz, będziemy wszyscy mogli dopisać kolejny januszsoft do listy omijanych firm.

edytowany 1x, ostatnio: mr_jaro, 2019-05-12 18:19
Ja doskonale wiem. Mówię tylko że nie ma w tym nic złego jeśli chcesz wywołać metode z innego kontrolera - fporzo 2019-05-12 18:19
jakbyś wiedział to byś nie proponował takiego rozwiązania - mr_jaro 2019-05-12 18:20

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0