This code makes me wonder why the hasField methods `checkVirtual` argument doesn't check virtual fields *and* schema.
https://github.com/cakephp/cakephp/blob/master/lib/Cake/Model/Model.php#L1396