• 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() 则应是对已有关联对像进行更新操作。

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

  • 相关阅读:
    rsync+inotify-tools实时备份脚本
    rsync+inotify实现实时同步
    linux 上安装部署python
    rsync全网备份low方法
    rsync 参数说明及使用参数笔记好文摘抄
    rsync 参数说明及使用参数笔记
    js DOM
    导出Excel
    Linux(CentOS 8)安装docker
    Win10安装虚拟机
  • 原文地址:https://www.cnblogs.com/fangziffff123/p/8605098.html
Copyright © 2020-2023  润新知