I believe that the answer is 18.
If 12 cans of food can feed 8 dogs for one week, 1.5 cans of food can feed 1 dog for one week.
Now, there are 6 dogs in need of food for 2 weeks. 6 times 1.5 = 9. 9 times 2 (weeks) is 18. Therefore, 18 cans of food would be needed to feed 6 dogs for 2 weeks