账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    thinkphp6 hasOne 查询的问题
    61
    0
    现在有两张表:表1(ProjectTax)中包含字段id, category_id表2(TaxCategory)中包含id, category_name我想在查询表1的时候,同时将表2的category_name字段包含到查询结果里来。在表1的模型中,我新增了关联定义:public function taxCategory(){ return $this->hasOne(TaxCategory::class, "id", "category_id");}然后在控制器中查询:$data = ProjectTax::with('taxCategory')->where('project_id', $id)->select();return json($data);得到的结果如下,taxCategory这个字段把关联表的所有字段都给包含进来了(id, tax_name, sort_id)请问怎么做才可以让taxCategory这个字段只包含tax_name字段的值呢?我理想的返回结果是 ……taxCategory: "增值税"……或者,如果能把taxCategory显示为tax_name/category_name这样更好了……category_name: "增值税"……再简单一点说,就是让taxCategory包含的是关联表的某个字段,而不是整个表。我尝试过修改表1模型的关联方法(taxCategory()):return $this->hasOne(TaxCategory::class, "id", "category_id")->field('tax_name');如果这样的话,返回值里的taxCategory就是null了。return $this->hasOne(TaxCategory::class, "id", "category_id")->field('id,tax_name');如果上面这样加上id字段,则可以成功返回值,但是跟一开始的问题一样,返回值taxCategory依然是个包含2个字段的对象。请有经验的大佬指点一下,Thanks♪(・ω・)ノ
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部