thinkphp 5.0 关联对像$user->profile与$user->profile()的区别

        学习过程中,总是有一些小插曲。今天说说关联对像$user->role与$user->role()的区别.

        乍一看,没区别。唯一的区别是().在官方手册中如下介绍:

        一 先看  关联新增:

       

        文档说的什么,先理理顺序。

        1 .$user->save()   用户模型保存成功。

        2 .$profile=new Profile    新建关联对像   $profile  作为用户的关联属性

       3.  $profile  赋值

       4. $user->profile()->save($profile)   得到用户关联模型并将新的模型数据作为参数保存.

          注意,$user->profile() ,带()括号的方法,$profile()对像在保存之前是不存在的。

  二  再看 关联更新

         

 

         模型更新操作   $user->save()      $user->profile->save()

         $user->profile 得到的是用户的关联对像,作为$user的属性存在,前提是$profile存在。否则会报模型不存在的错误。

       

         对比一下,$user->profile返回的是已存在的关联对像.$user->profile() 是得到未存在的关联对像。

  三  总结       

         $user->profile()->save($profile) 显然是用于新增关联对像。

         $user->profile ->save() 则应是对已有关联对像进行更新操作。

        简而言之,方法用于带参新增,属性用于更新.

转载于:https://www.cnblogs.com/fangziffff123/p/8605098.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值