连接两个表时,YII2未知`with`和`joinWith`

时间:2015-04-20 03:05:08

标签: php yii2

我有两个相关的表,我想加入它们但是我收到以下错误:

  

异常' yii \ base \ UnknownMethodException'消息'呼叫   未知方法:backend \ models \ TblSubProject :: joinWith()'

这是关系...

public function getBrgyCode()
{
    return $this->hasOne(LibBrgy::className(), ['brgy_code' => 'brgy_code']);
}

这是行动......

public function actionGetsp()
{
  $sp_id=$_POST['sp_id'];
if (($sp = TblSubProject::findOne($sp_id)->joinWith(brgyCode)) !== null) {
        return $sp->sp_title."||";
    } else {
        return "Not Found";
    }
}

我通过ajax调用该动作。

1 个答案:

答案 0 :(得分:4)

findOne方法返回查询的最终结果 - ActiveRecord对象。

withjoinWith必须仅适用于ActiveQuery个对象。

将您的查询重写为例如:

$subProject = TblSubProject::find()->joinWith('brgyCode')->one();

你也错过了joinWith内关系名称的引号。

官方文档: