Ciao.
sto usando un tableGateway che trovo molto
utile per delete update e insert.
Per le select quando ci sono join
mi trovo un poco spiazzato

Nei miei models avevo pensato di fare una cosa
del genere (è solo un esempio)


Codice PHP:
class w_db_TableGateway
    protected 
$pdonull
    protected 
$table''
    protected 
$columns null
    protected 
$pkey''
    public function 
__construct(w_db_Database $pdo,$table) { 
        
$this->pdo$pdo
        
$this->table$table
    } 
    public function 
insert($data){ 
        
//INSERT 
    


class 
models_category extends w_db_TableGateway
    public function 
__construct(w_db_Database $pdo,$table) { 
        
parent::__construct(w_db_Database $pdo,$table); 
    } 
    public function 
insertCategory($data){ 
        
$this->insert($data); 
    } 
    public function 
selectCategory(){ 
        
$sql"SELECT * FROM categories LEFT JOIN etc ...."
        
$result$this->pdo->query($sql); 
        
$result->setFetchMode(PDO::FETCH_OBJ); 
        return 
$result->fetchAll(); 
    } 

Che ne pensate ?
Altre soluzioni ?