如何使用yii合并2个表

时间:2014-10-23 08:54:59

标签: php yii yii2

我有两张桌子:

Transport {transID, name}

Fuel {id,average, comb, urban}

如何在Fuel表控制器中使用表Transport?我希望从2个表中获得一系列记录。

CNC中 我想使用transID和id进行1比1的关系。

1 个答案:

答案 0 :(得分:0)

在控制器中引用传输模型的过于简单的示例可以是

传输模式

class Transport extends ActiveRecord {
::
    public function getFuel()
    {
        return $this->hasOne(Fuel::className(), ['id' => 'transID']);
    }
::
}

**燃料模型**

class Fuel extends ActiveRecord {
::
    public function getTransport()
    {
            return $this->hasOne(Transport::className(), ['transID' => 'id']);
    }
::
}

传输控制器

class TransportController extends Controller {
::

    public function actionView($id) {
        //get transport
        $transport = Transport::find()->where(['transID' => $id])->one();

        /*
        * access Fuel model with $transport->fuel and do anything you like
        * including converting the data to an array
        */
    }
::
}