如何使用yii2活动记录和关系获取数据?

时间:2016-08-29 20:44:21

标签: activerecord yii2 relationship

我有以下代码,这些代码不会像预期的那样工作。

模型中指定的关系:

 public function getShift() {
      return $this->hasOne(Shift::className(), ['id' => 'shift_id']); 
}

public function getShiftName() {
    return $this->shift->name;
}

查询:

$job_position = JobPositions::find()
            ->innerJoinWith(['shift'])
            ->where('month(date) = month(curdate())')
            ->one();

它给出了job_position表的数据而不是shift表的数据。如何获取shift表的数据?

1 个答案:

答案 0 :(得分:0)

您应该只使用$job_position->shift,它将返回相关的Shift对象。

您还应该阅读:Accessing Relational Data

  

当您通过getter方法xyz声明名为getXyz()的关系时,您将能够像对象属性一样访问xyz。请注意,名称区分大小写。

相关问题