Фундаментальное непонимание модели в «Красноречии» (за пределами Laravel)

Поэтому я довольно долгое время пытаюсь использовать базовый красноречивый контент в Slim Framework 2. Это не мой первый вопрос, но я надеюсь, что на это можно ответить, в отличие от предыдущего: использование полиморфных отношений в Eloquent для расширения модели

Я работаю над простой химической базой данных для отслеживания своего университета. У меня есть таблица Chemicals с колонкой company_id, которая соотносится с таблицей с названием компании с двумя столбцами, идентификатором и компанией. chemicals.company_id – это внешний ключ, ссылающийся на company.id.

(Это, наряду с несколькими другими, такими как комната и местоположение, началось как Enums, но быстро стало очевидно, что пользователи должны были бы добавить к ним. Редактирование столбца DB для добавления перечисления, очевидно, не является практической идеей .)

В Chemical я имею:

public function company() { return $this->hasOne('Lab_Chemicals\Chemical\company'); } 

И в компании у меня есть:

 public function chemical() { return $this->belongsTo('Lab_Chemicals\Chemical\chemical'); } 

Они оба находятся в том же пространстве имен (Lab_Chemicals \ Chemical), и сами по себе я могу сделать

 $chemicals = $app->chemical->get(); 

а также

 $company = $app->company->get(); 

и получить правильный список, чтобы основы были настроены правильно, но если я попытаюсь это сделать:

 $company = chemical::find(1)->company; 

Я получаю Slim Application Error:

Тип: Illuminate \ Database \ QueryException Код: 42S22 Сообщение: SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец 'company.chemical_id' в 'where clause' (SQL: выберите * из company где company . chemical_id = 1 и company . chemical_id не является нулевым пределом 1)

Это подводит меня к моему реальному вопросу. Разве это не назад? Почему он ищет химическое вещество в компании? Я знаю, что это то, что он говорит в документах https://laravel.com/docs/4.2/eloquent#relationships : «Обратите внимание, что Eloquent предполагает внешний ключ отношения, основанный на имени модели. В этом случае Предполагается, что модель телефона использует внешний ключ user_id ».

Я бы ожидал, что он найдет компанию, где находится химическая компания.pany_id = company.id. Где ошибка в моем способе мышления и что я могу сделать, чтобы она работала, как ожидалось? благодаря