After a lot of research, everything I found on adding date range searching to a CGridView advanced search form seemed to involve adding two new public variables (e.g. $date_from, $date_to), 'safe' rules for the new variables, and a rather chunky if/elseif/else check in the search() method. This probably isn't a hassle for most, but because many of the tables in my database contain two or three and sometimes four date columns (e.g. date_created, date_modified, date_deleted etc.), it meant I was having to add up to eight public variables, the corresponding safe rules, and modifying the search() criteria for each date attribute. So, I set about creating a better way and I thought I'd share my work with the community.
Please consider the following
Dear software engineers imagine I have a simple ISA hierarchy: parent A with
children B and C.
So let's say we have the corresponding tables named "a", "b", "c" and (created
with the help of the gii model creator) the classes A, B, C
The following is a screenshot from MySQL workbench: