Update pola w bazie dla wielu obiektów jednocześnie w Laravelu

0

Cześć, temat dotyczy Laravela. Mam na jednej z podstron listę "obiektów" użytkowników, którzy samodzielnie dopisują się do niej. Dopisanie przez użytkownika powoduje wpis w tabeli w bazie danych (jako kolejny wiersz). Podczas tego wpisu użytkownik uzupełnia wszystkie oprócz jednego pola "paid", które istnieje w bazie i domyślnie ustawiane jest na false. Dopiero administrator może zacheckować to pole. I teraz pytanie w kwestii technicznej w jaki sposób zrobić, żeby na widoku przy każdej osobie na liście był checkbox, który będzie mogła zaznaczyć osoba z uprawnieniami administratora i podczas wysyłki pole to zostanie zedytowane w bazie danych. Chodzi też o to, żeby było możliwe zaznaczenie np. 10 spośród dajmy na to 15 osób - czyli grupowa edycja wielu wpisów w bazie. Jak do tematu podejść?

0

Nie wiesz jak podejść do tego od frontu czy od backendu?

0

Od backendu. Myślałem o jakimś patchu, ale to chyba łatwiej obsłużyć gdyby to były przyciski przy każdym elemencie na liście. Z kolei nie wiem jak gdy są to checkboxy.

1

Robisz listę i dla każdego elementu (użytkownika) dajesz chekbox. Powiedzmy coś takiego: https://stackoverflow.com/questions/14026361/php-multiple-checkbox-array
Potem zostaje tylko update bazy w backendzie.
Jeśli chodzi o uprawnienia to chyba chcesz mieć na to cały widok oddzielny z uprawnieniami?

2

Jeśli nie masz paginacji to bardzo prosto, chceckbox powinien być arrayem czyli np

<input type="checkbox" name=is_selected[]" value="id_usera">

po stronie backendu odbierasz takiego arraya i robisz

Users->whereNotIn('costam', $request->get('is_selected'))->update(['is_selected' => 0]);
Users->whereIn('costam', $request->get('is_selected'))->update['is_selected' => 1]);
0
mr_jaro napisał(a):

Jeśli nie masz paginacji to bardzo prosto, chceckbox powinien być arrayem czyli np

<input type="checkbox" name=is_selected[]" value="id_usera">

po stronie backendu odbierasz takiego arraya i robisz

Users->whereNotIn('costam', $request->get('is_selected'))->update(['is_selected' => 0]);
Users->whereIn('costam', $request->get('is_selected'))->update['is_selected' => 1]);

Tylko teraz z kolei pytanie jak mogę pobrać z bazy danych aktualny stan pola 'paid', zeby na stronie wyświetlić zaznaczony bądź odznaczony checkbox?

0
kamilos95 napisał(a):

Tylko teraz z kolei pytanie jak mogę pobrać z bazy danych aktualny stan pola 'paid', żeby na stronie wyświetlić zaznaczony bądź odznaczony checkbox?

O.o A jak robisz front, że nie wiesz co wyświetlasz? Robisz to przez blade? vue?, angular? react? Pokaż twoje generowanie tabelki.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.