Вы вызываете метод из контроллера, который знает о BuildingProperty? то есть BuildingPropertiesController
. Если нет, включили ли вы
var $uses = array('BuildingProperty');
оператор в определении класса или явно загруженная модель, например,
loadModel('BuildingProperty')
Ваш синтаксис правильный, и единственное другое объяснение, если нет предупреждений или сообщений об ошибках, это то, что возвращаемый массив пуст, т.е. запись не существует.
Убедитесь, что у вас включена отладка:
Configure::write('debug', 1); // or higher.A 2 will output SQL queries as well
затем попробуйте
debug($this->BuildingProperty->read(null,$id));
Вы должны хотя бы получить какой-нибудь вывод, сообщающий вам строку вызова отладки.