Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Entidad con relaciones, quien se encarga de borrarlas?

Estas en el tema de Entidad con relaciones, quien se encarga de borrarlas? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola buenas de nuevo, NOTA: estoy usando el patrón MVC Tengo varias clases que hacen referencia a tablas de una base de datos, estas tablas ...
  #1 (permalink)  
Antiguo 06/02/2012, 02:08
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años, 3 meses
Puntos: 165
Entidad con relaciones, quien se encarga de borrarlas?

Hola buenas de nuevo,

NOTA: estoy usando el patrón MVC

Tengo varias clases que hacen referencia a tablas de una base de datos, estas tablas tienen relaciones entre ellas, cuando borre un objeto que hace referencia a una tabla con relaciones, quien se encarga de borrar dichas relaciones? el controlador? el modelo? la entidad / objeto?

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #2 (permalink)  
Antiguo 06/02/2012, 07:55
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Entidad con relaciones, quien se encarga de borrarlas?

Todo trabajo de lógica se debe hacer en el modelo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 06/02/2012, 08:02
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años, 3 meses
Puntos: 165
Respuesta: Entidad con relaciones, quien se encarga de borrarlas?

Pero.. Mis librerias que hacen referencia a tablas, tambien pueden tener logica no? Que pasa si una entidad guarda urls de ficheros que tienen que ser borrados? Tambien lo hace el modelo? Creo aver visto que el modelo deberia de ser independiente a la estructura de ficheros y por lo tanto, no seria muy correcto que tambien borre ficheros del disco.. Lo pregunto porque no me queda claro, muchas gracias!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #4 (permalink)  
Antiguo 06/02/2012, 08:29
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Entidad con relaciones, quien se encarga de borrarlas?

Todo lo que tenga que ver con logica lo debes hacer en los modelos. Puedes indicar una variable en el método para que el controlador indique la ruta a borrar.
Código PHP:
Ver original
  1. <?php
  2. class Foo
  3. {
  4.     public function fooBar($url)
  5.     {
  6.         //logica para borrar
  7.         unlink($url);
  8.     }
  9. }
En el controlador algo como
Código PHP:
Ver original
  1. <?php
  2. $obj = new Foo();
  3. $obj->fooBar('/ruta/hacia/el/archivo/para.borrar');
Ademas la librería es como un tipo de modelo, solo que almacenas lo que vayas a usar en toda la aplicación.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 06/02/2012, 08:39
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años, 3 meses
Puntos: 165
Respuesta: Entidad con relaciones, quien se encarga de borrarlas?

De acuerdo, pero supongamos que tengo mi objeto:

Código PHP:
class car($id){

public 
$id;
public 
$name;
public 
$image;

//obtengo los datos de la base de datos...


y mi modelo

Código PHP:
class car_model(){

public function 
get_cars() {

//obtengo los datos de la base de datos...

return $cars;

}


si en mi contralador obtengo los cars:

Código PHP:
Ver original
  1. $cars = $this->get_cars();
  2.  
  3. foreach($cars as $car) {
  4.  
  5. unlink('./images/' . $car->get_image());
  6.  
  7. }

Esto sería correcto?
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #6 (permalink)  
Antiguo 06/02/2012, 09:25
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Entidad con relaciones, quien se encarga de borrarlas?

Puedes hacerlo donde quieras, pero lo correcto sería que la lógica la hicieras en el modelo. Ya que puede que más de un archivo quiera eliminar y si toda la lógica la hiciste en el modelo solo tienes que modificar un solo archivo, mientras que si lo haces en el controlador debes modificar en diferentes lugares. Pero si quieres hacer unlink en el controlador debes estar conciente que puede ocurrir lo que te estoy indicando. Por lo que unlink lo debes hacer en el modelo y hacer todas las validaciones requeridas.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 06/02/2012, 09:37
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años, 3 meses
Puntos: 165
Respuesta: Entidad con relaciones, quien se encarga de borrarlas?

De acuerdo,

Entonces doy por hecho, que cualquier acción por mínima que sea, se tiene que hacer en el modelo, cierto?

Por ejemplo:

Código PHP:
class MiController {

$car = new Car($id);
$car->set_name($new_name);
$car->update();


Pasaría a :

Código PHP:
class MiController {

$car_model = new Car_model();
$car_model->update_name($id$name);


Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo

Última edición por miktrv; 06/02/2012 a las 09:47
  #8 (permalink)  
Antiguo 06/02/2012, 12:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Entidad con relaciones, quien se encarga de borrarlas?

Bueno no noto el porque dividirlo así, si te fijas ambas formas que mencinas la lógica la estás haciendo en los métodos, solo que brindaste a los métodos variables que se declaran en el controlador. Pero ya veo que tienes la idea
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 06/02/2012, 13:10
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años, 3 meses
Puntos: 165
Respuesta: Entidad con relaciones, quien se encarga de borrarlas?

Muchas gracias por tu tiempo, si te parece bien, podrías iluminarme con el último ejemplo según tu criterio¿?

Gracias por todo de nuevo, ai tienes tu Karma! jaja

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #10 (permalink)  
Antiguo 06/02/2012, 14:05
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Entidad con relaciones, quien se encarga de borrarlas?

Ya lo hiciste, esa es una forma de trabajarlo
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 06/02/2012, 14:11
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años, 3 meses
Puntos: 165
Respuesta: Entidad con relaciones, quien se encarga de borrarlas?

jajaja vale! gracias por todo,

Aunque me parece un "engorro" no poder trabajar directamente con la entity,

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo

Etiquetas: clase, entidad, relaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:21.