Doctrine: Funkcje SQL w zapytaniach do bazy danych.

Od kiedy programiści stron internetowych [i nie tylko] dostali w swoje ręce pierwsze biblioteki wspomagające technikę ORM - mapowania obiektowo-relacyjnego, stało się jasne, że w bardzo wielu przypadkach oszczędzą nam one samodzielnego pisania zapytań SQL i związanych z tym problemów i błędów. Za bardzo przyjemną abstrakcją tychże bibliotek kryje się jednak jeden problem - ze względu na fakt, iż próbuje ona zastąpić nam całkowicie leżącą niżej warstwę bazy danych, bardzo często nie mamy możliwości skorzystania z natywnych funkcji SQLa. W niniejszym wpisie pokażę, jak sobie z tym poradzić wykorzystując bibliotekę ORM Doctrine.

[WordPress] Problem z datą publikacji wpisu przy wcześniejszym zapisaniu szkicu.

Wordpress jest bardzo przyjazną użytkownikowi i całkiem potężną platformą blogową, naprawdę do niewielu rzeczy można się w tym systemie “przyczepić”. Nie zmienia to jednak faktu, że pewne rzeczy wymagają dopracowania, a co najmniej ponownego przemyślenia. Jedną z takich “uciążliwości” jest zapisywanie postów do późniejszego sprawdzenia / przeredagowania / edycji. W momencie bezpośredniego zapisania poprzez użycie przycisku “zapisz szkic” [ang. “save draft”] i późniejszej publikacji [późniejszej, czyli co najmniej jeden dzień po napisaniu szkicu] ze zdziwieniem możemy stwierdzić - “a co to za dziwna data?”. Otóż, w momencie pierwszego zapisu data publikacji jest już ustawiona “na sztywno” w bazie danych i nie da się jej zmienić inaczej, niż przez edycję jednej z kolumn odpowiedniego rekordu w tabeli wp_posts. Przyznacie sami, że to zachowanie jest nieco nielogiczne, jednak twórcy uważają inaczej.