Model.php第750行中的FatalErrorException:未找到类Laravel5

时间:2015-09-21 08:27:36

标签: php laravel laravel-5

我目前正在将Laravel 4.2项目升级到5.0我一直在取得合理的进展,直到这个特定的错误:

Model.php第750行中的FatalErrorException:未找到“SAPProduct”类。

我的Product类中使用hasOne关系调用我的SapProduct类,我无法理解Laravel无法找到它的原因。

SapProduct.php

namespace App\Models;

use Eloquent;

class SapProduct extends Eloquent
{
    public function brand()
    {
        return $this->belongsTo('App\Models\Brand', 'U_Brand', 'Name');
    }
}

Product.php

namespace App\Models;

use Eloquent;

class Product extends Eloquent
{
    ...
    public function sapProduct()
    {
        $relationship = $this->hasOne('App\Models\SapProduct', 'ItemCode', 'itemcode');
    }
    ...
}

Model.php(第746-755行)

public function hasOne($related, $foreignKey = null, $localKey = null)
{
    $foreignKey = $foreignKey ?: $this->getForeignKey();

    $instance = new $related;

    $localKey = $localKey ?: $this->getKeyName();

    return new HasOne($instance->newQuery(), $this, $instance->getTable().'.'.$foreignKey, $localKey);
}

如果我遗漏任何其他必要信息,我会道歉,如果需要,我会添加更多信息。

由于

1 个答案:

答案 0 :(得分:1)

在这个问题上花了太多时间后,我将其追踪到违规行。

这种关系已经通过另一种与之没有关系的模式进行了联系。' SapProduct'正确命名空间。

违规模型是ProductVariation.php并且具有以下不正确的行:

$relationship = $this->hasOne('SAPProduct', 'ItemCode', 'itemcode');

需要的时候:

$relationship = $this->hasOne('App\Models\SAPProduct', 'ItemCode', 'itemcode');

这也是为什么laravel将SapProduct错误带回首都而不是驼峰的原因。

感谢所有试图提供帮助的人!