2016-08-29 57 views
0

我有下面的代码不工作作为exepcted。在模型中指定如何使用yii2活动记录和关系获取数据?

关系:

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表中的数据,而不是转移表。如何获取移位表的数据?

回答

0

您应该简单地使用$job_position->shift,它会返回相关的Shift对象。

您还应该阅读:Accessing Relational Data

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