Tablas Vinculadas
Versión 9 (Guillermo Zdanowicz, 29/03/2016 20:27)
1 | 1 | Guillermo Zdanowicz | h1. Tablas Vinculadas |
---|---|---|---|
2 | 1 | Guillermo Zdanowicz | |
3 | 1 | Guillermo Zdanowicz | Cuando vinculamos tablas deseamos que datos de distintas tablas se reflejen en nuestro formulario |
4 | 1 | Guillermo Zdanowicz | * |
5 | 1 | Guillermo Zdanowicz | 1 - Si tenemos un listado de compras queremos que en alguna columna aparezca la identificacion del proveedor.* |
6 | 1 | Guillermo Zdanowicz | |
7 | 8 | Guillermo Zdanowicz | Para ello agregamos en */views/compras/index.php*: |
8 | 1 | Guillermo Zdanowicz | |
9 | 1 | Guillermo Zdanowicz | |
10 | 3 | Guillermo Zdanowicz | <pre> |
11 | 3 | Guillermo Zdanowicz | <?= GridView::widget([ |
12 | 3 | Guillermo Zdanowicz | 'dataProvider' => $dataProvider, |
13 | 3 | Guillermo Zdanowicz | 'filterModel' => $searchModel, |
14 | 3 | Guillermo Zdanowicz | 'columns' => [ |
15 | 3 | Guillermo Zdanowicz | ['class' => 'yii\grid\SerialColumn'], |
16 | 3 | Guillermo Zdanowicz | |
17 | 3 | Guillermo Zdanowicz | 'id', |
18 | 6 | Guillermo Zdanowicz | </pre><pre>'descripcionproveedor.identificacion',</pre><pre> |
19 | 3 | Guillermo Zdanowicz | 'descripcion', |
20 | 3 | Guillermo Zdanowicz | 'fecha_factura', |
21 | 3 | Guillermo Zdanowicz | 'importe', |
22 | 3 | Guillermo Zdanowicz | // 'fecha_recepcion', |
23 | 3 | Guillermo Zdanowicz | // 'imputacion_compra', |
24 | 3 | Guillermo Zdanowicz | // 'comprobante', |
25 | 3 | Guillermo Zdanowicz | // 'pagado', |
26 | 3 | Guillermo Zdanowicz | // 'modo_pago', |
27 | 3 | Guillermo Zdanowicz | |
28 | 3 | Guillermo Zdanowicz | ['class' => 'yii\grid\ActionColumn'], |
29 | 3 | Guillermo Zdanowicz | ], |
30 | 3 | Guillermo Zdanowicz | ]); ?> |
31 | 3 | Guillermo Zdanowicz | </pre> |
32 | 1 | Guillermo Zdanowicz | |
33 | 8 | Guillermo Zdanowicz | en */models/Compras.php* |
34 | 1 | Guillermo Zdanowicz | |
35 | 9 | Guillermo Zdanowicz | Para vincular con un proveedor |
36 | 9 | Guillermo Zdanowicz | |
37 | 9 | Guillermo Zdanowicz | <pre> |
38 | 9 | Guillermo Zdanowicz | public function getProveedores() |
39 | 9 | Guillermo Zdanowicz | { |
40 | 9 | Guillermo Zdanowicz | |
41 | 9 | Guillermo Zdanowicz | return $this->hasOne(Proveedores::className(),['id'=>'idproveedor'] ); |
42 | 9 | Guillermo Zdanowicz | } |
43 | 9 | Guillermo Zdanowicz | </pre> |
44 | 9 | Guillermo Zdanowicz | |
45 | 9 | Guillermo Zdanowicz | |
46 | 9 | Guillermo Zdanowicz | Para obtener un listado de proveedores vinculados en caso de existir mas de uno vinclado (no es este caso!!!) |
47 | 7 | Guillermo Zdanowicz | <pre> |
48 | 7 | Guillermo Zdanowicz | public function getDescripcionproveedor() |
49 | 7 | Guillermo Zdanowicz | { |
50 | 7 | Guillermo Zdanowicz | |
51 | 7 | Guillermo Zdanowicz | return $this->hasMany(Proveedores::className(),['id'=>'idproveedor'] ); |
52 | 7 | Guillermo Zdanowicz | } |
53 | 7 | Guillermo Zdanowicz | </pre> |
54 | 1 | Guillermo Zdanowicz | |
55 | 1 | Guillermo Zdanowicz | *2 - En la carga de datos de compras debemos selleccionar el proveedor* |
56 | 1 | Guillermo Zdanowicz | |
57 | 1 | Guillermo Zdanowicz | Agregamos una lista desplegable en el formulario |
58 | 1 | Guillermo Zdanowicz | |
59 | 8 | Guillermo Zdanowicz | */views/compras/_form.php* |
60 | 1 | Guillermo Zdanowicz | |
61 | 1 | Guillermo Zdanowicz | <pre> |
62 | 2 | Guillermo Zdanowicz | ... |
63 | 2 | Guillermo Zdanowicz | |
64 | 2 | Guillermo Zdanowicz | use yii\helpers\ArrayHelper; |
65 | 2 | Guillermo Zdanowicz | use app\models\Proveedores; |
66 | 2 | Guillermo Zdanowicz | |
67 | 2 | Guillermo Zdanowicz | ... |
68 | 2 | Guillermo Zdanowicz | |
69 | 1 | Guillermo Zdanowicz | <?= $form->field($model, 'idproveedor')->dropDownList( |
70 | 1 | Guillermo Zdanowicz | ArrayHelper::map(Proveedores::find()->all(),'id','identificacion' ) |
71 | 1 | Guillermo Zdanowicz | |
72 | 1 | Guillermo Zdanowicz | ) ?> |
73 | 1 | Guillermo Zdanowicz | </pre> |