Возможно ошибка возникает из-за того, что в последних двух строчках ->id возвращает что-то отличное от int? Так же может null нельзя передавать?
Но мой большой совет: перед тем как что-то отлаживать желательно сначала разобраться с тем, как выводить дебаг-информацию. Искать ошибки вслепую - неблагодарное и часто бесполезное и занятие.