Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Possibili costruttori:
- // Per gestire un prodotto di cui si conosce l'id
- $p = new Product($id_del_prodotto_che_si_vuole_gestire)
- // Per creare un nuovo prodotto (fa la insert, ogni chiave dell'array corrisponde a una colonna della tabella)
- $p = new Product(array(
- 'name' => 'Nome del prodotto',
- 'descr' => 'descrizione',
- ecc...
- ));
- echo $p->id; // per prendere l'id (questo vale sempre, anche se la chiave primaria si chiama in modo diverso, fa lui il collegamento)
- echo $p->name; // prende una certa colonna della tupla corrispondente al prodotto
- echo $p->image_id // È una colonna della tabella, guarda nel db
- echo $p->image; // (Lo capisce grazie all'array bindings nel setup) ritorna: new Image($p->image_id)
- $p->delete(); // Elimina la tupla, in questa classe la ho sovrascritta per dirgli di eliminare anche l'immagine associata)
- */
- class Product extends TableManager {
- protected function setup() { // Questo metodo viene chiamato automaticamente con la new
- $this->table = 'products'; // La tabella che questa classe deve gestire
- $this->primary = 'product_id'; // La chiave primaria
- $this->bindings = array( // Questa cosa serve per agevolare certe cose
- 'image' => array('image_id', 'Image'), // fa in modo che quando fai $p->image, ritorna: new Image($p->image_id)
- );
- }
- static function categories() {
- return DB::table('products')
- ->distinct()
- ->lists('category');
- }
- function delete() {
- $this->image->delete();
- parent::delete();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement