zoukankan      html  css  js  c++  java
  • 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() 则应是对已有关联对像进行更新操作。

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

  • 相关阅读:
    Python的一些小技巧
    Python连接sqlite3数据库
    闭包和toString方法的使用
    webpack(10) webpack扩展(插件. loader)
    webpack(9) 配置文件
    webpack(8) plugin
    webpack(7) 样式处理和图片处理之手写loader
    webpack(6) loader
    webpack(5)入口和出口
    webpack(4)编译过程分析
  • 原文地址:https://www.cnblogs.com/fangziffff123/p/8605098.html
Copyright © 2011-2022 走看看