Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inny][LARAVEL 8] Kalendarz tygodniowy i rekordy z bazy danych
Forum PHP.pl > Forum > PHP > Frameworki
miccom
Cześć.
Chcę utworzyć kalendarz który będzie mi pokazywał rekordy z podziałem na godziny danego dnia w danym tygodniu.

Jak ugryźć to od strony zapytań do bazy danych.

Póki co wyciągam jako Model::All() lub model::with('relation')->where('cos')->get()

Jak rozwiązać pobieranie danych z bazy z podziałem na godziny w dniu i dni w tygodniu w blade?
netir
To wszystko zależy od tego jaka struktura finalnie w tym podziale jest potrzebna, ale ja bym użył https://laravel.com/docs/8.x/queries#groupbyraw
miccom
Cytat(netir @ 23.09.2021, 16:21:58 ) *
To wszystko zależy od tego jaka struktura finalnie w tym podziale jest potrzebna, ale ja bym użył https://laravel.com/docs/8.x/queries#groupbyraw


Oki, i jak to potem rozwiązać w blade?
Pyton_000
Pokaż lepiej strukturę bazy bo problem można rozwiązać na wiele sposobów
miccom
Cytat(Pyton_000 @ 29.09.2021, 21:29:48 ) *
Pokaż lepiej strukturę bazy bo problem można rozwiązać na wiele sposobów


No właśnie jeszcze nie mam bazy- najpierw chcę zaplanować to dobrze aby potem to napisać smile.gif

Tzn. część bazy mam, chciałbym mieć kalendarz z dniami tygodnia a w nich godziny ( powiedzmy od 8 do 15 ), i jeśli w bazie jest rekord na na. wtorek godz. 10- to chcę to pokazać w tabelce.
Taki plan zajęć do szkoły smile.gif
Pyton_000
To ja u siebie na "sztywno" wyznaczyłem godziny dostępności (up. pon-pt 8-16) i dodaję po prostu zajętości do bazy.
Potem pobieram wszystkie rekordy na dany tydzień i wyświetlam je. Czyli 1 tabelka:
lessons
id - int
start_date
end_date

a potem select * from lessons where start_date >= '2021-10-01' and end_date <= '2021-10-01;
miccom
Cytat(Pyton_000 @ 2.10.2021, 19:41:05 ) *
To ja u siebie na "sztywno" wyznaczyłem godziny dostępności (up. pon-pt 8-16) i dodaję po prostu zajętości do bazy.
Potem pobieram wszystkie rekordy na dany tydzień i wyświetlam je. Czyli 1 tabelka:
lessons
id - int
start_date
end_date

a potem select * from lessons where start_date >= '2021-10-01' and end_date <= '2021-10-01;


Oki, ale to są cykliczne elementy, planowałem aby do bazy dodać rekordy np. hour, day, desription i w blade laravel utworzyć tabelkę z rekordami, jeśli jest rekord- to go pokazuję, jeśli nie- to pole puste...
Czy dobrze myślę aby puścić pierwszą pętlę przez dni ( od 1 do 5 ) a wewnątrz każdego dnia kolejną pętlę listującą od godz. 8 do 15?

Myślę żeby utworzyć tablicę wielowymiarową, pierwszy wymiar to dni od 1 do 5 ( bez sobót i niedziel ) a w każdym dniu poszczególne godziny.
Dobrze myślę?
Pyton_000
Jeśli są to cykliczne czyli co tydzień to po prostu pobierasz wszystki start_date >= X <= end_date i rysujesz. start_date określi Ci dzień tygodnia w którym masz wyświetlić. Do tego jakieś dodatkowe warunki jeśli chcesz. Wystarczy 1 tabelka.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.