0
"getUser"hasOne 관계가있는 활성 레코드 모델 "이벤트"가 있습니다. 지금, 내가 할 경우 : 나는이 joinWith 질의에 "선택"을 추가하면Yii 2 활성 쿼리 joinWith 문제가
$eventModels = Event::find()->joinWith([
'user' => function($q){
return $q;
}])->all();
----------------------------------------------------
foreach($eventModels as $m){
var_dump($m->user); //Everything good as $m->user returns the related user object
die('skdw');
}
그러나, 다음, 관련 "사용자"개체가 null이됩니다. 여기에 문제가 있습니다 :
$eventModels = Event::find()->joinWith([
'user' => function($q){
$q->select('email');// or, ['email'] or ['user.email'] etc. fields.
return $q;
}])->all();
----------------------------------------------------
foreach($eventModels as $m){
var_dump($m->user); // Returns NULL
die('skdw');
}
그러나 내가 $ q-> select ('*')를 선택하면 $ m-> user working. 나는 그것이 YII 2의 일부 이전 버전에서 작동하는 데 사용 생각
이 (지금 내가 YII 일하고 2.0.9)
이 예상되는 동작인가? 그렇다면 관련 joinWith 모델에 대한 일부 선택 필드 만 가져 오는 솔루션은 무엇입니까? 관련 필드의 일부가 "TEXT"데이터 유형을 포함 할 수 있으므로 관련 필드를 모두 가져오고 싶지 않습니다.