Итак, у меня есть следующие модели:
class TemplateEntity extends Model {
protected $table = "TemplateEntities";
const UPDATED_AT = null;
const CREATED_AT = null;
public function element() {
return $this->morphTo("element", "entity_type", "id_Entity");
}
public function getEntityTypeAttribute($entity_type) {
return 'App\\' . $entity_type;
}
}
class Template extends Model {
protected $table = "Template";
const UPDATED_AT = null;
const CREATED_AT = null;
public function entities() {
return $this->hasMany("App\TemplateEntity", "id_Template");
}
}
class TemplateEntity extends Model {
protected $table = "TemplateEntities";
const UPDATED_AT = null;
const CREATED_AT = null;
public function element() {
return $this->morphTo("element", "entity_type", "id_Entity");
}
public function getEntityTypeAttribute($entity_type) {
return 'App\\' . $entity_type;
}
}
Я хочу загрузить элементы сущности шаблона с помощью метода Eloquent ORM :: with (), однако всякий раз, когда я делаю это, я получаю сообщение об ошибке:
//$template_id is defined as a controller param
$template = Template::with("entities", "entities.element")->where("id", "=", $template_id)->get()
"Class 'App\' not found"
Я сделал некоторую отладку, и когда я повторяю $ entity_type в методе GetEntityTypeAttribute () TemplateEntity, я получаю пустое значение.Тем не менее, мои модели в целом работают нормально, если я не использую энергичную загрузку, но я хотел бы добавить ее в свое приложение, если это возможно, чтобы сделать его более эффективным.
Любая помощь, которую вы можете предоставить всем, поможет!
edit: исправлена опечатка, должен был быть Template :: with вместо $ template :: with