1. Вы уверены, что должно быть tags (id,user_id,tag), а не две таблицы:
tags (id,tag)
user_tag (user_id, tag_id)
Так как пользователи и теги относятся как многие ко многим и поэтому нужна промежуточная таблица user_tag.
2.
Как получить id вставленного тега чтобы добавить запись в таблицу post при условии что в таблицу с тегами вставляется сразу много записей?
Как именно вставляется? Код будет? По идее перед отправкой insert в БД у Вас есть массив с необходимыми данными.
3. Не понятно какие отношения у таблицы post с другими таблицами. Опишите где там hasOne, где hasMany. Есть подозрение, что структура у Вас мягко говоря странная. Насколько я понимаю должна быть таблица post(id,text,author_id), и post_tag(post_id,tag_id)