Страница 1 из 1

Как отфильтровать поля в rest связанных моделей?

Добавлено: 2017.12.05, 22:43
user
Есть код:

Код: Выделить всё

    public function fields()
    {
        return [
            'field' => 'field',
        ];
    }
    
    public function extraFields()
    {
        return [
            'users',
        ];
    }
возвращается:
{
"field": "field",
"users": {
"id": 1,
"name": "user"
}
}
мне не нужен id
если сделаю так:

Код: Выделить всё

    public function extraFields()
    {
        return [
            'users' => function($model){
                return [
                    'name' => $model->users->name,
                ];
            }
        ];
    }
то вернется:
{
"field": "field",
"users": {
"name": null
}
}
как мне заполнить это поле? или как настроить фильтрацию вывода полей из связанной таблицы?

Re: Как отфильтровать поля в rest связанных моделей?

Добавлено: 2017.12.06, 10:33
Nex-Otaku

Код: Выделить всё

$models = MyModels::find()->with('users')->all();

Re: Как отфильтровать поля в rest связанных моделей?

Добавлено: 2017.12.06, 11:36
user
Nex-Otaku писал(а): 2017.12.06, 10:33

Код: Выделить всё

$models = MyModels::find()->with('users')->all();
спасибо, но куда это вставлять?

Код: Выделить всё

public function extraFields()
    {
$models = MyModels::find()->with('users')->all();
        return [
            'users' => function($model){
                return [
                    'name' => $model->users->name,
                ];
            }
        ];
    }
не работает

Re: Как отфильтровать поля в rest связанных моделей?

Добавлено: 2017.12.06, 18:46
Nex-Otaku
В контроллер )