Ahā... kaut ko samurgoji. Ar lielām problēmām varu pat sākt zīlēt, kas tev tur ir uzpuņķots. Un lasīt es māku, paldies!
Kāpēc tev ir divas tabulas (`pages` un `viewed`)? Tam pilnīgi pietiek ar vienu tabulu (`pages`), kurai ir jauna kolona - `is_viewed` (0 = false / 1 = true).
Cik saprotu, katram lietotājam attiecības ('relationships') ar `pages` var būt savādākas, vai ne? Piemēram Jānīts un Anniņa ir skatījušies lapu #234, bet Pēterīts nav.
Tādā gadījumā tev vajadzēs vēl vienu tabulu. Sanāk divas tabulas... pirmā: `pages` (bet to kolonu `is_viewed` vairs nevajag) un `page_users` (vai kā tml.).
Kopskats:
pages
- id
- title
- content
- created_at
page_users
- id
- page_id
- user_id
- is_viewed
Šāda tabulu struktūra dos to, ka saglabātie dati nebūs dublēti un visādi citādi ir forša. :D Visas lapas kā tādas glabajās `pages` tabulā (tas nav galds, bl*d!), bet 'attiecības' starp lapām un lietotājiem (protams, tev vajadzēs arī tabulu `users`) glabājās tabulā 'page_users'. Loģiski, ne?
Domā pats un mācies formulēt. :D