fastadmin的笔记

 

1.belongsTo和hasone的用法

在使用模型的ORM的时候出现belongsTo和hasOne都有表示一对一的关系,但是二者并不相同。以下举例说明两者的区别: 
首先有user表 字段 id name password字段 
然后有user_address表 id user_id city字段

在User模型中关联user_address表的时候使用hasOne,因为在user表中没有关联两个表的外键

在UserAddress模型中关联user表的时候使用belongsTo,因为在user_address表中有关联两个表的外键user_id

也就是外键在谁手中,谁在模型中就写belongsTo

2。如果需要过滤字段怎么办?

   如果模型中使用了belongsTo(),是不能再模型中用field过滤的,而是在控制器中,用->with预关联的时候过滤,如图:

   $list = $sto->where($where)
               ->with([
                        'dianpu' => function ($query) {
                            $query->withField('id,name');
                        },
                    
                    ])

但是模型的hasone可以直接用field:

 public function profile()
    {
        return $this->hasOne('Profile'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值