2015-10-14 19:29:05 10024次浏览 2条回答 1 悬赏 10 金钱

目前项目有2张表 user,studio

我设置了config 设置了对应的URL

/Url管理 PathInfo模式
        'urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true,
            //'enableStrictParsing' => true,
            'showScriptName' => false,
            'rules' => [
                ['class' => 'yii\rest\UrlRule', 'controller' => ['api/user','api/studio']],
            ],
        ],

创建了UserController & StudioController

访问 http://www.domain.com/usershttp:.//www.domain.com/studios 都可以反馈数据

但是我现在想在获取User的同时一起反馈Studio的数据

请问多表联查的话 如何操作呢?

  • 回答于 2015-10-16 14:52 举报

    我的做法是 /users?embed=uStudios
    当然我是自己写的API来实现的,主要就是用relation 来读取

    希望对你有帮助,

    PS Yii 来做 RESTful api 还是很有价值的。

    1 条回复
    回复于 2015-10-20 13:32 回复

    好的 我也去试验下

  • 回答于 2015-10-19 10:09 举报

    这是你需要的文档

    我已经把文档链接给你了,你自己看看.我就是按照这个文档弄的restful关联查询(查询用户的时候可以关联返回他的文章)

    7 条回复
    回复于 2015-10-20 13:34 回复

    App端口他们不想提供需要的字段,让后台自己获取。
    但是这个文档的意思我已经理解 通过expand字段去返回其他表的数据是吧 非常感谢。

    回复于 2015-10-20 15:11 回复

    是的,通过expand即可.另外返回自己需要的字段也是有的!

    回复于 2015-10-20 16:53 回复

    不好意思 再问您一下 我用默认的POST的Create和自己写的Create 反馈的View字段 差很多 如何可以让默认的POST Create 反馈数据库所有的字段

    localhost:modules root# curl -d "phone_number=18611157217&password=123456" http://192.168.199.218/meishuquan-web/web/rest/users | python -m json.tool
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100   178  100   138  100    40   2211    640 --:--:-- --:--:-- --:--:--  2225
    {
        "fan_count": 0,
        "follow_count": 0,
        "id": 2,
        "member_status": 0,
        "password": "123456",
        "phone_number": "18611157217",
        "user_source": 0,
        "user_status": 0
    }
    localhost:modules root# curl -d "phone_number=18611157218&password=123456" http://192.168.199.218/meishuquan-web/web/rest/users | python -m json.tool
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100   404  100   364  100    40   5985    657 --:--:-- --:--:-- --:--:--  6066
    {
        "background_pic": null,
        "fan_count": "0",
        "follow_count": "0",
        "gender": null,
        "id": "3",
        "meishuquan_number": null,
        "member_status": "0",
        "nickname": null,
        "password": "e10adc3949ba59abbe56e057f20f883e",
        "phone_number": "18611157218",
        "profile_pic": null,
        "province": null,
        "registration_date": "2015-10-20 16:51:53",
        "studio_id": null,
        "user_role": null,
        "user_source": "0",
        "user_status": "0"
    }
    
    回复于 2015-10-20 16:53 回复

    上面那个是默认的Create 但是少了很多字段~下面的这个是我自己写的 反馈的是user表的所有字段~

    回复于 2015-10-21 10:09 回复

    create只会创建你传了的字段以及rules设了默认值的字段以及一些行为增改的字段...其他字段不会创建,你添加的时候会用数据库默认值!

    回复于 2015-10-22 10:45 回复

    好的理解了 非常感谢~

    回复于 2016-11-21 16:56 回复

    请问你具体是如何实现的呢?

您需要登录后才可以回答。登录 | 立即注册
crazydouble
助理

crazydouble

注册时间:2015-10-14
最后登录:2019-02-02
在线时长:5小时42分
  • 粉丝1
  • 金钱95
  • 威望0
  • 积分145

热门问题