Tutaj jest rzecz, mam 3 tabele, users/users_types/types.sync lub updateExistingPivot with Laravel - Jak wypełnić na podstawie trzeciej krytyki
Posiadam belongsToMany pomiędzy użytkownikami i typami poprzez users_types, pivot z kilkoma infosami w nim. Jednym z nich jest numer wiersza w formularzu. Próbuję zaktualizować tabelę na podstawie identyfikatora użytkownika i numeru linii, ale NIE na identyfikator typu, który jest wypełniany przez moje dane wejściowe.
Jak mogę to zrobić? staram
updateExistantPivot($line_number->line_number,array(
'type_id' => $type_id,
'etc' => $etc,
'duration' => $duration
)
);
Ale oczywiście to nie będzie działało, ponieważ chce typeID zamiast LINE_NUMBER ... Zawsze chcesz zaktualizować sam line_number & identyfikator użytkownika. (Jestem w pętli for dla każdej linii).
Dzięki za pomoc!
oh, i spróbowałem z synchronizacją ... ale daje mi błąd klucza obcego, ponieważ wysyła numery, które nie powinny tam być.
Hej @JarekTkaczyk OMG! Dziękuję bardzo !!! Udało się, ale musiałem zmienić wartość false na true, aby zaktualizować i nie odtwarzać za każdym razem nowej linii! Dokumentacje Laravel nie wyjaśniają tak dobrze! Dzięki jeszcze raz! – commandantp
Niezupełnie - kiedy używasz 'sync', wtedy nic nie jest duplikowane, ale raczej aktualizowane. Jeśli użyjesz 'attach', wtedy tak, utworzysz nowy czas ewidencji wejścia pivot. Należy pamiętać, że nie używając "false" resetuje wszystkie wpisy przestawne dla danego modelu i dodaje tylko te, które zostały dostarczone. –
Tak, użyłem załącznika do stworzenia tego wpisu - czy to dlatego musiałem użyć fałszywego? Ummmm ... Czy to ma znaczenie, czy oś została wyzerowana, skoro datas wchodzą do tabeli? Zauważyłem, kiedy robiłem coś źle, że moja prosta synchronizacja kasowała cały wpis, gdy wystąpił błąd i kod został zatrzymany. Nadal nie rozumiem, jak działał, aby być uczciwym ... Zrozumiałem, że była to tymczasowa tablica, utworzona z informacjami wszystkich połączonych ze sobą tabel + ze stołu łączącego (które definiujesz) ... czy to prawda? Dzięki! – commandantp