CF ORM - не удается загрузить целевой CFC - PullRequest
1 голос
/ 13 марта 2012

Это сводит меня с ума.

У меня есть настройка ORM.Когда я запускаю ORMReload(), я получаю следующую ошибку:

Невозможно загрузить целевые CFC productCategories для категории свойств отношений в продуктах CFC.

Application.cfc ORM Config

this.ormEnabled = true;
this.ormsettings = {
      cfclocation = "_model"
};

products.cfc

component persistent="true" table="products" {
property name="id" fieldtype="id";
property name="productcode" ormtype="string";
property name="title" ormtype="string";
property name="introduction" ormtype="text";
property name="description" ormtype="text";
property name="image1" ormtype="string";
property name="image2" ormtype="string";
property name="image3" ormtype="string";
property name="deletedAt" ormtype="date";

property name="category" fieldtype="many-to-one" cfc="productCategories" fkcolumn="categoryid";

//init()
public function init(){
    return this;
}

//getByID()
public function getByID(required id=""){
    return entityLoadByPK("products",'18');
}

}

productCategories.cfc

component persistent="true" table="productCategories" {
property name="id" fieldtype="id";
property name="description" ormtype="string";

property name="products" fieldtype="one-to-many" cfc="products" fkcolumn="categoryid";

//init()
public function init(){
    return this;
}

public function get(){
    return entityload("productCategories");
}

}

Я могу обойти эту ошибку, установив полный путь в параметрах cfc, например cfc="_model.products", но затем получаю следующую ошибку.

Ассоциация из таблицы продуктов относится к несопоставленному классу:

Оба CFC находятся в одной папке.Я попытался перезапустить CF Server.Выдернуть мои волосы.Любые предложения очень ценятся.

Ответы [ 3 ]

1 голос
/ 15 марта 2012

Попробуйте изменить настройку cfclocation в Application.cfc на абсолютный, а не относительный путь:

this.ormEnabled = true;
this.ormsettings = {
      cfclocation = ExpandPath( "_model" )
};
1 голос
/ 13 марта 2012

Перезагрузите ORM каждый раз, когда вы меняете свою модель. Проверьте все имена объекта и имя отношения (с учетом регистра).

Проверьте с "_model" и без имен CFC.

Сообщение об ошибке указывает на несопоставленный класс, поэтому одно или несколько имен неверны. Или не существует для гибернации (необходима перезагрузка).

0 голосов
/ 15 марта 2012

Спасибо FLepage и CfSimplicity за ваши предложения.

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

Я скопировал файлы с ПК на Mac, поэтому OSX, должно быть, что-то сделал с разрешениями папок, когда я копировал файлы / папки. Не весело.

Еще раз спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...