Development

Documentation/it_IT/book/1.1/08-Inside-the-Model-Layer (diff)

You must first sign up to be able to contribute.

Changes between Version 1 and Version 2 of Documentation/it_IT/book/1.1/08-Inside-the-Model-Layer

Show
Ignore:
Author:
garak (IP: 85.18.214.242)
Timestamp:
10/29/08 12:06:36 (9 years ago)
Comment:

corrette path immagini e tabelle

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/it_IT/book/1.1/08-Inside-the-Model-Layer

    v1 v2  
    7070Figura 8-1 - Struttura del database di un blog 
    7171 
    72 <img src="http://www.symfony-project.com/images/book/trunk/F0801.png" /> 
     72![Struttura del database di un blog]( 
     73http://www.symfony-project.org/images/book/1_1/F0801.png "Struttura del database di un blog") 
    7374 
    7475Il relativi file `schema.yml` dovrebbe essere come quello del Listato 8-3. 
    199200Prima di tutto vediamo di utilizzare lo stesso vocabolario. I modelli relazionale e ad oggetti sono concetti simili, ma entrambi possiedono una propria nomenclatura: 
    200201 
    201 Relazionale    | Object-Oriented 
    202 -------------- | --------------- 
    203 Tabella        | Classe 
    204 Riga, record   | Oggetto 
    205 Campo, colonna | Propriet√† 
    206  
     202<table> 
     203  <tr> 
     204    <th>Relazionale</th> 
     205    <th>Object-Oriented</th> 
     206  </tr> 
     207  <tr> 
     208    <td>Tabella</td> 
     209    <td>Classe</td> 
     210  </tr> 
     211  <tr> 
     212    <td>Riga, record</td> 
     213    <td>Oggetto</td> 
     214  </tr> 
     215  <tr> 
     216    <td>Campo, colonna</td> 
     217    <td>Propriet√†</td> 
     218  </tr> 
     219</table> 
    207220 
    208221### Recuperare il valore di una colonna 
    219232    $title   = $article->getTitle(); 
    220233    $content = $article->getContent(); 
     234 
    221235 
    222236>**NOTE** 
    375389Tabella 8-1 - Sintassi SQL e di `Criteria` 
    376390 
    377 SQL                                                          | Criteria 
    378 ------------------------------------------------------------ | ----------------------------------------------- 
    379 `WHERE column = value`                                       | `->add(column, value);` 
    380 `WHERE column <> value`                                      | `->add(column, value, Criteria::NOT_EQUAL);` 
    381 **Altri operatori di comparazione**                          | 
    382 `> , <`                                                      | `Criteria::GREATER_THAN, Criteria::LESS_THAN` 
    383 `>=, <=`                                                     | `Criteria::GREATER_EQUAL, Criteria::LESS_EQUAL` 
    384 `IS NULL, IS NOT NULL`                                       | `Criteria::ISNULL, Criteria::ISNOTNULL` 
    385 `LIKE, ILIKE`                                                | `Criteria::LIKE, Criteria::ILIKE` 
    386 `IN, NOT IN`                                                 | `Criteria::IN, Criteria::NOT_IN` 
    387 **Altre parole chiave SQL**                                  | 
    388 `ORDER BY column ASC`                                        | `->addAscendingOrderByColumn(column);` 
    389 `ORDER BY column DESC`                                       | `->addDescendingOrderByColumn(column);` 
    390 `LIMIT limit`                                                | `->setLimit(limit)` 
    391 `OFFSET offset`                                              | `->setOffset(offset) ` 
    392 `FROM table1, table2 WHERE table1.col1 = table2.col2`        | `->addJoin(col1, col2)` 
    393 `FROM table1 LEFT JOIN table2 ON table1.col1 = table2.col2`  | `->addJoin(col1, col2, Criteria::LEFT_JOIN)` 
    394 `FROM table1 RIGHT JOIN table2 ON table1.col1 = table2.col2` | `->addJoin(col1, col2, Criteria::RIGHT_JOIN)` 
    395  
     391<table> 
     392  <tr> 
     393    <th>SQL</th> 
     394    <th>Criteria</th> 
     395  </tr> 
     396  <tr> 
     397    <td>`WHERE column = value`   </td> 
     398    <td>`->add(column, value);`</td> 
     399  </tr> 
     400  <tr> 
     401    <td>`WHERE column <> value`</td> 
     402    <td>`->add(column, value, Criteria::NOT_EQUAL);`</td> 
     403  </tr> 
     404  <tr> 
     405    <th>Altri operatori di comparazione</th> 
     406    <th></th> 
     407  </tr> 
     408  <tr> 
     409    <td>`> , <`</td> 
     410    <td>`Criteria::GREATER_THAN, Criteria::LESS_THAN`</td> 
     411  </tr> 
     412  <tr> 
     413    <td>`>=, <=`</td> 
     414    <td>`Criteria::GREATER_EQUAL, Criteria::LESS_EQUAL`</td> 
     415  </tr> 
     416  <tr> 
     417    <td>`IS NULL, IS NOT NULL`</td> 
     418    <td>`Criteria::ISNULL, Criteria::ISNOTNULL`</td> 
     419  </tr> 
     420  <tr> 
     421    <td>`LIKE, ILIKE`</td> 
     422    <td>`Criteria::LIKE, Criteria::ILIKE`</td> 
     423  </tr> 
     424  <tr> 
     425    <td>`IN, NOT IN`</td> 
     426    <td>`Criteria::IN, Criteria::NOT_IN`</td> 
     427  </tr> 
     428  <tr> 
     429    <th>Altre parole chiave SQL</th> 
     430    <th></th> 
     431  </tr> 
     432  <tr> 
     433    <td>`ORDER BY column ASC`</td> 
     434    <td>`->addAscendingOrderByColumn(column);`</td> 
     435  </tr> 
     436  <tr> 
     437    <td>`ORDER BY column DESC`</td> 
     438    <td>`->addDescendingOrderByColumn(column);`</td> 
     439  </tr> 
     440  <tr> 
     441    <td>`LIMIT limit`</td> 
     442    <td>`->setLimit(limit)`</td> 
     443  </tr> 
     444  <tr> 
     445    <td>`OFFSET offset`</td> 
     446    <td>`->setOffset(offset)`</td> 
     447  </tr> 
     448  <tr> 
     449    <td>`FROM table1, table2 WHERE table1.col1 = table2.col2`</td> 
     450    <td>`->addJoin(col1, col2)`</td> 
     451  </tr> 
     452  <tr> 
     453    <td>`FROM table1 LEFT JOIN table2 ON table1.col1 = table2.col2`</td> 
     454    <td>`->addJoin(col1, col2, Criteria::LEFT_JOIN)`</td> 
     455  </tr> 
     456  <tr> 
     457    <td>`FROM table1 RIGHT JOIN table2 ON table1.col1 = table2.col2`</td> 
     458    <td>`->addJoin(col1, col2, Criteria::RIGHT_JOIN)`</td> 
     459  </tr> 
     460</table> 
    396461 
    397462>**TIP**