ТиЛи, ну так вы же поругали, а не ребёнок. Вы для него главнее, а ребёнок на той же ступеньке иерархии как и он. Если вы хотите, чтобы собакен слушался ребёнка, необходимо выстраивать иерархию ребёнок -> собака.
Когда собака выпрашивает еду у ребёнка, в первую очередь надо убедиться, что ребёнок 100% не угощает собаку исподтишка. Никогда и ни при каких условиях. Нужно объяснить ребёнку, что если он хочет стать вожаком стаи, то и вести себя должен соответствующе. Перед тем как есть, ребёнок должен отвести собаку на место, властно, но не так как будто ругаешься, дать команду "место" (или ждать, у кого как) и потом идти кушать. Если собака не выдержала и прибежала к столу, отложить еду, отвести на место, дать команду, уже можно построже. И так столько раз сколько будет необходимо. После того, как ребёнок поел, подойти к собаке, угостить вкусняхой, отпустить ( у нас это "гуляй") у кого еда, тот главный
Не разрешайте собаке спать на месте ребёнка. Никто не спит на месте вожака. И наоборот, разрешайте ребёнку посидеть в лежанке собаки на виду у собаки

ведь мы же хотим, чтобы наша собака была внизу иерархии, а на её месте никто и никогда кроме неё не сидит ( про спать не будем говорить

), не логично

Во время игры в мячик в конце мячик всегда должен оставаться у вожака. Вожак решает, когда заканчивается игра.
Это самые простые способы показать, кто главный в иерархии.