Pregunta

Tengo las siguientes tablas de la base de datos:

  • equipos:
    • id
    • Nombre
  • partidos:
    • id
    • team1_id
    • team2_id

he definido las siguientes href="http://docs.kohanaphp.com/libraries/orm" rel="nofollow noreferrer"> ORM modelos Kohana aplicación v2.3.4:

class Match_Model extends ORM {
  protected $belongs_to = array('team1_id' => 'team', 'team2_id' => 'team');
}

class Team_Model extends ORM {
  protected $has_many = array('matches');
}

El código siguiente en un controlador:

$match = ORM::factory('match',1);
echo $match->team1_id->name; /* <-- */

es tirar el siguiente error en la Linke marcado con /* <--- */:

Tratando de obtener la propiedad de no-objeto

El marco está dando el valor de la clave externa en lugar de una referencia a una instancia de Match_Model como debería (dando la has_many y belongs_to propiedades indicadas).

Me estoy perdiendo algo?

Nota: Por si acaso, he añadido el 'match' => 'matches' plural irregular en application / config / inflector.php

¿Fue útil?

Solución

resuelto! La comunidad Kohana me dio la respuesta :

El valor correcto para el $ belongs_to propiedad es:

class Match_Model extends ORM {
  protected $belongs_to = array('team1' => 'team', 'team2' => 'team');
}

El documentación indica que:

class Blog_Post_Model extends ORM { 
    protected $belongs_to = array('author' => 'user', 'editor' => 'user'); 
}
     

El blog_posts tabla de base de datos sería   tener 2 columnas ahora,   blog_posts.author_id y   blog_posts.editor_id, y ambos lo haría   tienen valores que existen en users.id.

Parece que me he perdido esa línea,:)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top