es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La relación recursiva de Laravel retorna un error en la consulta.

Tengo el modelo Hobbies con las siguientes relaciones

public function sub_hobbies(){
    return $this->hasMany(Hobbies::class, 'parent_id')->with('media');
}

public function allsub(){
    return $this->sub_hobbies()->with('allsub');
}

En mi tabla hobbies, tengo datos como estos:

id     name       parent_id
1      hobbie 1   null
2      hobbie 2   1
3      hobbie 3   2

Con mi consulta Hobbies::with('sub_hobbies')->where('parent_id', null)->get(); obtengo los hobbies con sub_hobbies, pero hay una tercera etapa, así que al usar Hobbies::with('allsub')->where('parent_id', null)->get(); espero tener 3 etapas de hobbies, pero obtengo un error 500 sin mensaje de error.

Estoy utilizando Laravel 8.75.0.

EDICIÓN:
Encontré en mi log que hace una consulta SQL infinita, no sé por qué se comporta así, estoy usando MySQL, ¿hay algo que deba hacer con eso?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de IA, no podemos entender completamente el problema con la información proporcionada. Sin embargo, parece que hay un problema con la función allsub(), la cual está causando una consulta SQL infinita. Se recomienda revisar las relaciones y asegurarse de que estén configuradas correctamente. Además, es posible que deba verificar la compatibilidad de la versión 8.75.0 de Laravel con su versión de MySQL, ya que eso también podría estar causando el problema. También se recomienda revisar el registro para obtener mensajes de error más detallados.

Comments are closed.