После обновления с локального на сервер: класс "категория" не найден

EDIT: Изменено строчное "c" в верхнем регистре "C" в ownTo.... Только моя неосторожность...

На локальной машине все нормально, ошибка ПОСЛЕ загрузки на сервер.

У меня есть базовые отношения "один к одному":

Symbol.php - модель:

class Symbol extends Eloquent {

 protected $table = 'symbols';
 protected $softDelete = true; 

 public function category()
 {
 return $this->belongsTo('category', 'id_category');
 } 
}

Category.php - модель

class Category extends Eloquent {
 protected $table = 'categories';
}

Я называю эти отношения следующим образом:

$symbol = Symbol::find($id);

Но если я хочу получить доступ к данным:

$symbol->category->name;

На моей локальной машине все нормально, НО после загрузки на сервер я получаю ERROR:

Symfony \ Component \ Debug \ Exception \ FatalErrorException
 Class 'category' not found 
 $instance = new $related; (line 527)

Есть идеи?

2 ответа

Но почему это работает на местном уровне? Различные настройки сервера?

Если это сработало на вашей локальной машине, а не на сервере, то я думаю, что, скорее всего, у вас определенно есть операционная система windows установленная на вашем локальном компьютере и на сервере, есть система, управляемая linux. Таким образом, в windows Category и category не имеет значения, но на linux, это так, поэтому, если у вас есть класс Category и вы называете его category то это вообще не существует, потому что linux чувствителен к регистру.

Проверьте это и посмотрите на Case Sensitivity.


composer update из терминала, похоже, решает некоторые из моих проблем, когда я изменил имена классов и т.д. в Laravel 4, вы пробовали его?.

licensed under cc by-sa 3.0 with attribution.