Табличный ввод
Мануал по ссылку довольно абстрактный, но суть передает. Перебирая данные смотрите meta_key и определяйте, обновлять вам запись или добавлять нужно. Во избежание частичной обработки можно транзакции использовать.
Может, где-то сейчас ошибусь. Но вроде не должно быть проблем, если для получения трактовать MANY_MANY как BELONGS_TO + HAS_MANY. Ну а для жадной загрузки использовать параметр together=>true.