2009-12-22 19 views
8

Estoy usando Kohana v3 y ORM, tengo dos modelos, Model_A y Model_B relacionados por "has_many" a través de una tabla dinámica, que tiene una columna adicional. Puedo guardar datos en esa columna en la tabla dinámica usando el tercer parámetro de la función add(), pero no puedo entender cómo leer esa columna usando ORM.Kohana 3.0.x ORM: Leer columnas adicionales en tablas dinámicas

¿Alguna idea? Gracias por adelantado.

Respuesta

8

Debe crear un modelo que esté basado en esa tabla dinámica si desea acceder a esa columna adicional, digamos que la llamamos Model_A_B.

class Model_A_B extends ORM { 

    protected $_belongs_to = array(
     'A' => array(), 
     'B' => array() 
    ); 

} 

Entonces, si $a es una instancia de Model_A y $b es una instancia de Model_B, obtenemos la instancia Model_A_B llamando:

$ab = ORM::factory('A_B', array('A_id' => $a, 'B_id' => $b)); 

if ($ab->loaded()) { 
    // do stuff 
} 
+0

que está mostrando para recuperar un valor de un pivote, pero ¿También puede mostrar una forma de establecer inicialmente el valor en el pivote? – Luke

+0

¿dónde almacenarías ese modelo? ... modelos/a/b.php? – Brenden

+0

@Brenden: Sí, modelos/a/b.php – dusan

Cuestiones relacionadas