Я довольно новичок в Slim, все еще пытаюсь изучить его и решил переделать старое приложение, которое я сделал. Я пытаюсь использовать Eloquent, но быстро потерялся, делая то, что не думаю, что это очень сложно. Приложение, которое у меня было, было слишком сложным, чтобы учиться, поэтому я вернулся к этому учебнику здесь, поскольку это более или менее то, что я пытаюсь сделать, использовать модели, расширяющие один другой класс, чтобы увидеть, могу ли я даже получить эту работу : http://www.richardbagshaw.co.uk/laravel-user-types-and-polymorphic-relationships/ Это просто расширение типа пользователя.Использование полиморфных отношений в Eloquent для расширения модели
Я не могу. Это, конечно, учебник для Laravel, поэтому я знаю, что это будет немного иначе. Я воссоздал базу данных (за вычетом некоторых посторонних вещей, таких как имя пользователя и пароль) и достаточно заполнил ее. Я скопировал код для классов User, Freelancer и Employee, изменив только класс User, удалив лишние методы, которые, как представляется, не требуются для этого (я думаю), как показано ниже.
namespace eloquent\eloquent;
class User extends Eloquent implements {
protected $table = 'users';
public function userable()
{
return $this->morphTo();
}
}
Если я это сделать:
$user = $app->user->find(1)->firstName;
echo $user
Он работает, как ожидалось. Это не:
$user = $app->user->find(1);
echo $user->userable->dayrate;
Это дает мне это: Фатальная ошибка: 'Сотрудник' класс не найден в D: \ Apache24 \ HTDOCS \ красноречивым \ поставщика \ Осветите \ базы данных \ Eloquent \ Model.php на линии 900
Однако он правильно идентифицирует, ищет ли он сотрудника или внештатного сотрудника, который, как я полагаю, исходит из столбца базы данных userable_type.
Вопрос: Как я могу получить доступ к полям подкласса? Я делаю это совершенно неправильно, или есть лучший способ?
Так никто здесь не знает, как использовать Eloquent Illuminate с Slim в чем-то более, чем в очень простом стиле ??? Кажется, это должно быть действительно действительно базовым ?! – danny2327