2016-06-01 17:58:16 5143次浏览 4条回答 1 悬赏 10 金钱

如题,Yii2的RESTful能否使用关联查询,我试了以下两种方式。但是都失败了(返回的json中没有category)。

$model = new Product();
$dataProvider = new ActiveDataProvider([
    'query' => $model->find()
        ->joinWith('category')
    	->where(['cid' => $cid]),
]);
return $dataProvider;
$products = Product::find()->joinWith('category')->where(['cid' => $cid])->all();
return $products;
  • 回答于 2016-06-01 20:00 举报

    第一,保证你的Product::extraFields()里有category。
    第二,请求的时候带上?expand=category,或者在controller强制修改request 如下

    Yii::$app->request->setQueryParams(array_merge(Yii::$app->request->getQueryParams(), ['expand' => 'imageUrl']));
    

    或者 使用Product::toArray([],['category'])

  • 回答于 2016-06-02 09:12 举报

    你生成sql语句到sql上跑一下看有没有结果.

    再试着带个select category的表信息

    --
    反正能查询

  • 回答于 2016-06-03 08:34 举报

    joinwith 需要先建立关联关系, 如果没有可以使用join方法

  • 回答于 2016-06-03 16:48 举报
    DocumentRoot "D:\wamp\www\back-first\frontend\web" ServerName www.demo.com ServerAlias www.demo.com ErrorLog "logs/dummy-host.example.com-error.log" CustomLog "logs/dummy-host.example.com-access.log" common DocumentRoot "D:\wamp\www\back-first\backend\web" ServerName admin.demo.com ServerAlias admin.demo.com ErrorLog "logs/dummy-host2.example.com-error.log" CustomLog "logs/dummy-host2.example.com-access.log" common

    就是按照这个配置的httpd-vhosts.conf,从新安装一个新的advanced 再配置就能打开。但是从远程仓库pull下来的打不开

您需要登录后才可以回答。登录 | 立即注册
八宝粥
总监

八宝粥 北京

注册时间:2015-04-18
最后登录:2019-01-27
在线时长:26小时12分
  • 粉丝30
  • 金钱4425
  • 威望20
  • 积分4885

热门问题