Advertisement
gufoe

Untitled

Mar 29th, 2015
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.49 KB | None | 0 0
  1. <?php
  2.  
  3. /*
  4. Possibili costruttori:
  5.  
  6. // Per gestire un prodotto di cui si conosce l'id
  7. $p = new Product($id_del_prodotto_che_si_vuole_gestire)
  8.  
  9. // Per creare un nuovo prodotto (fa la insert, ogni chiave dell'array corrisponde a una colonna della tabella)
  10. $p = new Product(array(
  11.     'name' => 'Nome del prodotto',
  12.     'descr' => 'descrizione',
  13.     ecc...
  14. ));
  15. echo $p->id; // per prendere l'id (questo vale sempre, anche se la chiave primaria si chiama in modo diverso, fa lui il collegamento)
  16. echo $p->name; // prende una certa colonna della tupla corrispondente al prodotto
  17. echo $p->image_id // È una colonna della tabella, guarda nel db
  18. echo $p->image; // (Lo capisce grazie all'array bindings nel setup) ritorna: new Image($p->image_id)
  19. $p->delete(); // Elimina la tupla, in questa classe la ho sovrascritta per dirgli di eliminare anche l'immagine associata)
  20. */
  21. class Product extends TableManager {
  22.  
  23.     protected function setup() { // Questo metodo viene chiamato automaticamente con la new
  24.         $this->table = 'products'; // La tabella che questa classe deve gestire
  25.         $this->primary = 'product_id'; // La chiave primaria
  26.         $this->bindings = array( // Questa cosa serve per agevolare certe cose
  27.             'image' => array('image_id', 'Image'), // fa in modo che quando fai $p->image, ritorna: new Image($p->image_id)
  28.         );
  29.     }
  30.    
  31.     static function categories() {
  32.         return DB::table('products')
  33.             ->distinct()
  34.             ->lists('category');
  35.     }
  36.    
  37.     function delete() {
  38.         $this->image->delete();
  39.         parent::delete();
  40.     }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement