Mostrar El Valor De Ralacion En Tabla Html

Buen día

Me pudieran ayudar al poner los valores de la relación de tablas en una tabla html.

controller




public function actionGral() {

    	date_default_timezone_set('America/Mexico_City');

    	$hoy = date("Y-m-d");


    	$prod = Yii::app()->db->createCommand("SELECT DISTINCT producto FROM productos WHERE visible='si'")->queryAll();

    	$subprod = Yii::app()->db->createCommand("SELECT subproducto FROM productos WHERE visible='si'")->queryAll();

    	$canSubProd = count($subprod);

    	$pedidos = Yii::app()->db->createCommand("SELECT * FROM pedidos WHERE tipo_ped='General' AND fecha='$hoy' ORDER BY clien_id, prod_id ASC")->queryAll();

    	$canPedidos = count($pedidos);


		$this->render('gral', array(

			'prod'=>$prod,

			'subprod'=>$subprod,

			'canSubProd'=>$canSubProd,

			'pedidos'=>$pedidos,

			'canPedidos'=>$canPedidos,

		));

    } 



Modelo




public function relations()

	{

		// NOTE: you may need to adjust the relation name and the related

		// class name for the relations automatically generated below.

		return array(

			'clien' => array(self::BELONGS_TO, 'Clientes', 'clien_id'),

			'prod' => array(self::BELONGS_TO, 'Productos', 'prod_id'),

		);

	}



y la vista




echo "<div class='encabezado'>";

	echo "<table border=1>";

	echo '<tr>';

	echo '<td rowspan=3>';

	echo 'Clientes';

	echo '</td>';

	//imprimir encabezado de productos

    foreach($prod as $row1) {

    	if ($row1['producto']=='Piña') {

    		echo "<td colspan=6>".$row1['producto']."</td>";

    	} else {

    		echo "<td colspan=4>".$row1['producto']."</td>";

    	}

    }

    echo '</tr>';


    //imprimir encabezado de sub-productos

    echo '<tr>';

	foreach ($subprod as $row2) {

    	echo '<td colspan=2>'.$row2['subproducto'].'</td>';

    }

    echo '</tr>';


    //imprimir encabezado de kilos y cajas

    echo '<tr>';

    for ($x=0;$x<$canSubProd;$x++) {

    	echo '<td>kg</td><td>cajas</td>';

    }

    echo '</tr>';


    //con este for imprimimos los clientes

    for ($i=0;$i<$canPedidos;$i++) {

    	//impresión de clientes

    	//si es el primer valor (0), siempre se imprime

    	if ($i==0) {

    		//inicializamos j para imprimir kg y cajas

    		$j=1;

    		echo '<tr><td>'.$pedidos[$i]['clien_id'].'</td>';

    	} else {

    		//comparamos el valor del 1er cliente

    		//para no imprimir clientes repetidos

    		//si el cliente es diferente al renglon anterior

    		//se imprime

    		if ($pedidos[$i-1]['clien_id'] !=  $pedidos[$i]['clien_id']) {

    			echo '<tr><td>'.$pedidos[$i]['clien_id'].'</td>';

    			//inicializamos j para imprimir kg y cajas

    			//si el cliente es diferente al anterior

    			$j=1;

    		} else {

    			//si el cliente ya existia,

    			//aumentamos el valor de j para que continue

    			//la impresión de datos después del último

    			//producto mostrado.

    			$j = $j+1;

    		}

		}

		//con este imprimimos los productos

		while ($j<=$canSubProd) {

			//comparamos si el valor del campo de la bbdd esta vacío,

			//de lo contrario lo imprimimos

			if ($j == $pedidos[$i]['prod_id']) {

				//mostramos el valor en pantalla

				echo '<td>'.$pedidos[$i]['kilos'].'</td><td>'.$pedidos[$i]['cajas'].'</td>';

				//si j llego a la última columna

				//inicializamos en 1

				if ($j==$canSubProd) {

					$j=1;

				}

				break;

			} else {

				echo '<td></td><td></td>';

				$j++;

			}

		}

    }

    echo '</tr>';

	echo '</table>';

	echo '</div>';



En la img muestro donde se deben de mostrar el valor en vez de el id guardado

Gracias por la ayuda.

Saludos.

Lo resolví de la siguiente manera, no sé si es lo correcto pero por el momento es ideal.




$nC = Clientes::model()->find('id_clien='.$pedidos[$i]['clien_id']);

if ($nC) echo '<tr><td>'.$nC->nombre.'</td>';



P.D. Si el código se puede mejorar se agradecen los comentarios, en la imagen es el resultado que quiero mostrar