2016-06-20 13:23
浏览 64


im trying to print an attribite from another table in yii2 Listview but im not able to get the data i need to print into the listview

   $query = Producto::find()->joinWith(['mPrecios']);

    $dataProvider = new ActiveDataProvider([
        'query' => $query,
        'pagination' => [
            'pageSize' => 6,

Data Provider in search model

    $searchModel = new ProductoSearch();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
        $modelCliente=new Cliente;
        $cliente = Cliente::getClientes();
        $rows = Producto::autocomplete();//Se envia la variable que contiene los productos a la vista
            return $this->render('index', array(
                                                'model' => $model,
                                                'searchModel' => $searchModel,
                                                'listDataProvider' => $dataProvider

Send DtaProvider through Controller

   <?php \yii\widgets\Pjax::begin(['id'=>'listaProductos','enablePushState' => true, 'timeout' => 8000000, 'clientOptions' => ['container' => 'pjax-container']]); ?>


                  'class'=>'col-lg-12  list-wrapper inline row-eq-height',

                'dataProvider' => $listDataProvider,
                'itemView' => function ($model, $key, $index, $widget) {
                    $itemContent = $this->render('_tabla_producto',['model' => $model]);
                    return $itemContent;
                'itemOptions' => [
                    'tag' => false,
                'summary' => '',
                'layout' => '{items}{pager}',

                'pager' => [
                    'firstPageLabel' => 'Primera',
                    'lastPageLabel' => 'Ultima',
                    'maxButtonCount' => 5,
                    'options' => [
                        'class' => ' pagination col-xs-12'
            <?php \yii\widgets\Pjax::end(); ?>


     <?php $IdProducto = $model['Refe'];?>
     <div id="producto-<?php echo $IdProducto;?>" class="content inline producto col-lg-4 box-body" >
           <div class="row">
             <div class="col-lg-6">
               <img class='img-responsive' src="<?php echo $model['ImagenProducto']?>"/>
             <div class="row">
               <div class="col-lg-6" style="height:200px;">
                    if($model['Fraccion'] > 1){
                      echo "<button id='fraccion-$IdProducto' class='btn btn-danger btn-xs fraccionado' data-toggle='modal' data-target='#modalFraccion'><b>F</b></button>";
                      echo "<button id='fraccion-$IdProducto' class='btn btn-default btn-xs disabled'><b>NF</b></button>";
                <b>Nombre:</b><br><?= $model['DescripcionCorta'] ?><br>
                <b>Presentacion:</b><br><?= $model['PresentacionCorta'] ?><br>
                <b>Precio:</b> HERE GOES THE OTHER TABLE ATTRIBUTE
           <div class="row">
             <div class="col-lg-6">
               <div class="input-group">
                 <span class="input-group-btn" >
                   <button id="menos-<?php echo $IdProducto;?>" type="button" class="btn btn-sm btn-default btn-minuse" min='0' value="0">-</button>
                 <input id="input-<?php echo $IdProducto;?>"  type="text" value="0" class="form-control text-center" style="height:30px;">
                 <span class="input-group-btn">
                   <button id="mas-<?php echo $IdProducto;?>" type="button" class="btn btn-sm btn-default btn-pluss" min='0' value="0">+</button>
             <div class="col-lg-6 pull-left">
               <button id="anadir-<?php echo $IdProducto;?>"  type="button" class="text-center center-block btn btn-sm btn-default btn-add">Añadir</button>
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • douzhan3900 2016-06-20 15:44

    I will assume you have your relation set up correctly in your model, getMPrecios().

    If this is a hasOne() you can access the relational data with $model->mPrecios->attributeName and if its a hasMany() you'll have to do a

    foreach($model->mPrecios as $mprecios)
        echo $mprecios->attributeName;

    This relational values should be accessible regardless of whether you eagerly load them (like you do with a joinWith()) or lazy load them.

    解决 无用
    打赏 举报

相关推荐 更多相似问题