2016-08-29 62 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像一個對象的屬性。請注意,名稱區分大小寫。