Tablas Vinculadas

Versión 7 (Guillermo Zdanowicz, 17/03/2016 22:51)

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 3 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 7 Guillermo Zdanowicz
en /models/Compras.php
34 1 Guillermo Zdanowicz
35 7 Guillermo Zdanowicz
<pre>
36 7 Guillermo Zdanowicz
    public function getDescripcionproveedor()
37 7 Guillermo Zdanowicz
    {
38 7 Guillermo Zdanowicz
		
39 7 Guillermo Zdanowicz
        return $this->hasMany(Proveedores::className(),['id'=>'idproveedor'] );
40 7 Guillermo Zdanowicz
    }
41 7 Guillermo Zdanowicz
</pre>
42 1 Guillermo Zdanowicz
43 1 Guillermo Zdanowicz
*2 - En la carga de datos de compras debemos selleccionar el proveedor*
44 1 Guillermo Zdanowicz
45 1 Guillermo Zdanowicz
Agregamos una lista desplegable en el formulario
46 1 Guillermo Zdanowicz
47 1 Guillermo Zdanowicz
/views/compras/_form.php
48 1 Guillermo Zdanowicz
49 1 Guillermo Zdanowicz
<pre>
50 2 Guillermo Zdanowicz
...
51 2 Guillermo Zdanowicz
52 2 Guillermo Zdanowicz
use yii\helpers\ArrayHelper;
53 2 Guillermo Zdanowicz
use app\models\Proveedores;
54 2 Guillermo Zdanowicz
55 2 Guillermo Zdanowicz
...
56 2 Guillermo Zdanowicz
57 1 Guillermo Zdanowicz
    <?= $form->field($model, 'idproveedor')->dropDownList(
58 1 Guillermo Zdanowicz
		ArrayHelper::map(Proveedores::find()->all(),'id','identificacion' )
59 1 Guillermo Zdanowicz
60 1 Guillermo Zdanowicz
	) ?>
61 1 Guillermo Zdanowicz
</pre>
Redmine Appliance - Powered by TurnKey Linux