为什么不在Rest Yii2中显示关系数据

时间:2017-05-09 14:20:38

标签: php rest yii yii2 yii-rest

为什么不在Rest Yii2中显示关系数据

我有两张桌子。

样品: 类别,子类别

    <?php

namespace app\controllers;

use app\models\Category;
use yii\web\NotFoundHttpException;
use yii\web\Response;
use yii\rest\Controller;

class ApiController extends Controller
{

    public function behaviors()
    {
        $behaviors = parent::behaviors();
        $behaviors['contentNegotiator']['formats'] = ['application/json' => Response::FORMAT_JSON];
        return $behaviors;
    }

    public function actionGetSk($cId)
    {
        $result= Category::find()->with('subCategory')->where(['id' => $cId])->all()

        return $result;
    }
}

我的结果我只来自类别。 (结果是json)

但是print_r($ result)我有来自Category和subCategory的数据。

web.php

[
'class' => 'yii\rest\UrlRule',
'pluralize' => false,
'controller' => 'api',
],

1 个答案:

答案 0 :(得分:0)

试试这个:在Category模型中,添加此方法:

public function extraFields() {
        return [
            'subcategory' => 'subCategory',
        ];
    }

现在,使用expand get参数调用您的api,如:

http://yourapi.com/api/get-sk?cID=1&expand=subcategory