0

编辑:在 belongsTo 中将小写“c”更改为大写“C”......只是我的粗心......

在本地机器上一切正常,错误是上传到服务器后。

我有基本的一对一关系:

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;

在我的本地机器上一切正常,但上传到服务器后我得到错误:

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

有任何想法吗?

4

2 回答 2

2

但为什么它适用于本地?不同的服务器设置?

如果它在您的本地机器上而不是在服务器上运行,那么我认为,很可能您肯定windows在本地机器上安装了操作系统,并且在服务器上,有linux驱动系统。所以, on windows Categoryandcategory没关系,但是 on linux,它确实如此,所以如果你有一个类Category并且你引用它,category那么它根本不存在,因为linux它区分大小写。

检查并查看Case Sensitivity.

于 2013-10-06T19:45:04.707 回答
0

composer update当我在 Laravel 4 中更改类名等时,来自终端的 a似乎解决了我的一些问题,你试过了吗?

于 2013-10-07T08:43:10.740 回答