2 namespace Galerie\Model;
4 use Zend\Db\Adapter\Adapter;
5 use Zend\Db\ResultSet\ResultSet;
6 use Zend\Db\TableGateway\AbstractTableGateway;
9 class GalerieATable extends AbstractTableGateway
11 public $table = 'gallery';
13 public function __construct(Adapter $adapter)
15 // Composition avec l'adaptateur
16 $this->adapter = $adapter;
18 // Utilisation du patron de conception Prototype
19 // pour la création des objets ResultSet
20 $this->resultSetPrototype = new ResultSet();
21 $this->resultSetPrototype->setArrayObjectPrototype(
25 // Initialisation du gestionnaire
29 public function fetchAll()
31 return $this->select();
34 public function getGalerie($id)
39 $row = $this->select(array(
44 throw new \Exception("cannot get row $id in table 'galerie'");
49 public function saveGalerie(GalerieA $galerie)
51 if ($galerie->id === null) {
54 'id_user' => $galerie->id_user,
55 'name' => $galerie->name,
56 'description' => $galerie->description,
59 } elseif ($this->getGalerie($galerie->id)) {
62 'id_user' => $galerie->id_user,
63 'name' => $galerie->name,
64 'description' => $galerie->description,
71 throw new \Exception("cannot update row {$galerie->id} in table 'galerie'");
75 public function deleteGalerie($id)