在Yii1中,我可以这样做:
$posts=Post::model()->with(array(
'comments'=>array(
'scopes'=>array('recently','approved')
),
))->findAll();
Run Code Online (Sandbox Code Playgroud)
有没有办法在Yii2中的with()的回调函数中调用关系的范围?
Customer::find()->with([
'orders' => function ($query) {
$query->andWhere('status = 1');
},
'country',
])->all();
Run Code Online (Sandbox Code Playgroud) 我想根据场景返回不同的字段.如何在dataProvider中设置它?
$query = User::find();
$activeData = new ActiveDataProvider([
'query' => $query,
'pagination' => [
'pageSize' => 10,
],
]);
Run Code Online (Sandbox Code Playgroud)
用户模型中的字段:
public function fields()
{
if ($this->scenario == 'statistics') {
return [
'id',
'email',
'count'
];
}
return [
'id',
'name'
];
}
Run Code Online (Sandbox Code Playgroud)