![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 468 Pomógł: 36 Dołączył: 14.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam u siebie strukturę tabeli:
products: id - AI, product_id, lang (product_id i lang tworza unique), nazwa categories id - AI, category_id, lang (tak samo jak w products), nazwa category_product category_id, product_id i teraz chce powiązać te tabele poprzez product_id i category_id. Dzięki temu mogę mieć np produkty 1 | 1 | pl | bluza 2 | 1 | en| hoodie i kategories 1 | 1 | pl | męskie 2 | 1 | en| man Mam powiązanie w modelu Product:
oczywiście 1 produkt może posiadać wiele kategorii i te kategorie mogą należeć do wielu produktów. W momencie zapisu mam : Wcześniej kiedy była tylko wersja w jednym języku czyli id z tabeli products i categories były kluczami to wszystko działało prawidłowo, ale teraz już nie działa :/ Ktoś może się już spotkał z czymś takim ? będę wdzięczny za pomoc (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
A nie działa bo?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 468 Pomógł: 36 Dołączył: 14.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie dziala, bo nie dodaje rekordu do tabeli category_product i nie wypluwa zadnego bledu, przez co ciezko mi znalezc blad :/
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
dd($request->categories, (sizeof($request->categories) >= sizeof($product->categories))); (IMG:style_emoticons/default/questionmark.gif)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 468 Pomógł: 36 Dołączył: 14.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Uff dobra udało mi się naprawić błąd, przez który się nie pokazywało, jednak wciąż mimo określenia relacji many to many na kolumnie product_id, a nie na 'id' to podczas sync dodaje rekord z product_id wzietym z "id".
Produkty: id | product_id | lang | name 1 | 1 | pl | bluza 2 | 1 | en | hoodie i teraz wchodze w link http://sklep.app/admin/products/2/edit - co powoduje, że jestem na edycji rekordu o "id" = 2 W momencie wybrania kategorii ( [1,2,3] ), kiedy dodaję relację do tabeli category_product powinienem dostać 3 rekordy category_id | product_id 1 | 1 2 | 1 3 | 1 a zamiast tego dostaję 1 | 2 2 | 2 3 | 2 tak jakby product_id wciąż brało z 'id' a nie z 'product_id' tak wygląda moja zadeklarowana relacja many to many w modelu Product:
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Bo to co Ty określiłeś to specyfikacja tabeli pivot.
Wrzuca Ci id ponieważ przy relacjach jest używana metoda getKey() która zwraca kolumną PK. Powiedz czy products_id w products jest jakimś FK do innej tabeli ? Jesli tak to powinieneś wiązać z tamtą tabelą. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 468 Pomógł: 36 Dołączył: 14.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak dokładnie, już znalazłem rozwiązanie tutaj: http://stackoverflow.com/questions/3305239...052814#33052814 i wszystko działa prawidłowo (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.09.2025 - 11:58 |