Мне тут чел один говорит что в БД нельзя всем таблицам давать одинаковое имя поля ID )) Тоесть надо post_id, item_id а просто ID нельзя. Я вот думаю что это идиотизм и разработчики Rails ActiveRecord тоже наверное со мной согласятся.
post_id, item_id как уже замечено принято для внешних ключей, и как опять же замечено чтобы запросы проходили нужно указывать таблицу поля. одинаково называнный id у всех таблиц больше соответствует духу ООП и применяется в ORM например
да меня тоже так в универе учили, еще и на делфе междумордие делать в рамках того же курса (где логика блин) через дата сорсы, поэтому с мачете надо туда прежде всего заявляться:)
я про то, что ноги от теоретиков растут (то что на джойнах гораздо проще и логичнее выглядит table1.id=table2.id чем table1.table1_id=table2.table2_id или table1.table2_id=table2.id чем table1.table2_id=table2.table2_id или еще рекомендуют позаковырестей внешний ключ назвать чтобы совсем не запутался человек низачто:), а мачете это такая латино-амерканская бритва