Our family always stayed at the Holiday Inn in Carlsbad (three separate trips). I believe it has changed ownership and is now called "Carlsbad by the Sea". It is very close to
Legoland (about 1/4 mile as the crow flies, although the drive is probably closer to a mile). I'm not sure if the hotel has a shuttle or not. The hotel itself was very nice and clean when we went. Another plus is that it is across the street from a large outlet mall. At the mall is a Ruby's diner where we ate breakfast and dinners. They have a train the runs on a track, so if your children like trains they will love this place. There are also a number of other restaurants and fast food in the area.