Yeah it's better ^^.
For the belongsTo laravel will search for the corresponding hasTo relation in the other model than he take the name of the function and concat it with the primary key. So in your case he was looking for tcodes_id instead of tcode_id.
Maybe i'll do a ticket at laravel to change this to have the same behavior than other relation.
Edit: That's the behavior they wanted according to the documention
"Eloquent determines the default foreign key name by examining the name of the relationship method and suffixing the method name with _id."