How to keep a lunch box fresh for more than 2 hours?
For a great answer on safety and temperature, see this answer.

For your lunch, you could get an reusable ice pack to keep your food chilled.  

You could also separate the ingredients that need to stay chilled from those that don't and mix them just prior to eating.