$this->request->data['teacher']['user_id'] = $this->User->id;
である必要があります
$this->request->data['Teacher']['user_id'] = $this->User->id;
。
キャピタル「T」。モデル名は常にCamelCasedです。
つまり、2回の保存は必要ありません。
を使用するだけです
$this->User->saveAll($this->request->data);
。
UserレコードとTeacherレコードの両方が保存され、Teacherレコードに適切な外部キー値が追加されます(UserとTeacherモデルの間に適切な関連付けが設定されていると仮定します)。