member-entry relationship: DB table » Add/remove records to/from this table » A form per entry Show number of likes for each entry » Get like-count for each entry Show liked entries for a logged in member » Show channel entries based on likes by member Show entries with most likes » Show channel entries sorted by number of likes
member + date » DB table needs a timestamp Overview of members that liked an entry » For a single entry, show members that liked it Overview of entries liked by a member » For a single member, show entries that he/she liked Keep like-counts accurate » When an entry is deleted, remove its likes » When a member is deleted, remove his/her likes
SELECT `member_id` FROM (`exp_low_likes`) WHERE `entry_id` = '29533' 0.0003 SELECT `member_id` FROM (`exp_low_likes`) WHERE `entry_id` = '29532' 0.0003 SELECT `member_id` FROM (`exp_low_likes`) WHERE `entry_id` = '29530' 0.0003 SELECT `member_id` FROM (`exp_low_likes`) WHERE `entry_id` = '29531' 0.0004 SELECT `member_id` FROM (`exp_low_likes`) WHERE `entry_id` = '29529' 0.0004 SELECT `member_id`
class and inheritance » Create your own libraries, models, and helpers » Use “shortcuts” for frequently requested config items Simplify, but also keep it simple » Choose readability over elegance » Separate add-on data from the core