ошибка «класс не найден»

Немного странный здесь.

У меня есть люди и действия. У людей может быть много действий, в то время как каждое действие принадлежит только одному человеку. Я использую Datatables Chumper’s для отображения списка людей, включая количество их действий.

После перехода на рабочий (поддельный) сервер я получаю

Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_ERROR)
Class 'action' not found

при вызове данных. Показанная ошибка

/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­Eloquent/­Model.php:721

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

предполагает, что это проблема с моими отношениями hasMany:

# /models/Person.php
class Person extends Eloquent {

public function actions()
{
return $this->hasMany('Action');
}

# /models/Action.php
class Action extends Eloquent {

public function person()
{
return $this->belongsTo('Person', 'person_id');
}

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

Я пробовал composer dump-autoload и artisan dump-autoload на рабочем сервере, но безрезультатно. Сценарий развертывания в Forge приведен ниже:

git pull origin master
composer install
php artisan migrate --env=production

Я не могу сказать, является ли это проблемой конфигурации, проблемой базы данных, проблемой кода или чем-то еще полностью. Я вернулся через много подобных вопросов, но ничего не выпрыгнуло. Любая помощь высоко ценится.

2

Решение

Так что я думаю, что купил это сам.

Я был ленив и ушел function datatablePersons() в PersonsController.php используя старый метод ‘count’, полагаясь на давно не существовавшие отношения (которые привели к n + 1, поэтому пришлось его связать), следовательно, он колеблется над actions класс всякий раз, когда эти отношения были призваны.

Функции с данными в других контроллерах (с более чистым методом ‘count’) работают нормально, поэтому я просто переписал datatablePersons() использовать тот же метод.

Я еще не совсем правильно понял запрос (по крайней мере, в красноречивом) — посмотрите этот вопрос здесь: MySQL присоединиться к ON и AND, чтобы laravel красноречивый — но class not found ошибка конечно ушла.

Я (в широком смысле) предполагаю, что карта классов на локальной машине не была сброшена, поскольку все, что было удалено, было удалено, в то время как производственная машина перестраивалась при каждом нажатии, отсюда и несоответствие …?

В любом случае, это больше не проблема.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]