Eyoucms程序开发:动态属性
模型对象的关联属性可以直接作为当前模型对象的动态属性进行赋值或者取值操作(延迟查询),虽然该属性并非数据表字段,例如:
namespace app\index\model;
use think\Model;
class User extends Model
{
public function profile()
{
return $this->hasOne('Profile');
}
}
我们在使用
// 查询模型数据
$user = User::find(1);
// 获取动态属性
dump($user->profile);
// 给关联模型属性赋值
$user->profile->phone = '1234567890';
// 保存关联模型数据
$user->profile->save();
在获取动态属性profile
的同时,模型会通过定义的关联方法去查询关联对象的数据并赋值给该动态属性,这是一种关联数据的“惰性加载”,只有真正访问关联属性的时候才会进行关联查询。
当有大量的关联数据需要查询的时候,一般都会考虑选择关联预载入的方式(参考下一节)。
相关文档
- 如何为WordPress添加动态侧边栏
- 迅睿CMS:编辑器图片title和alt属性
- EYOUCMS 当前位置导航的修改方法
- 列表分页样式的修改
- 定制的零件列表的标签调用方法
- EYOU 首页如何调取图集模型图片
- 多语言或多城市开启则显示,否则隐藏的判断
- 自增标签循环+1的方法
- 在线留言单选框选择的判断问题
- 获取当前文档url地址的方法
- 留言模型如何使用手机短信验证码
- 在其它页面调用单页文章内容的方法
- EYOU 列表页如何调取产品模型参数
- 文章选择某个文档属性时显示某个图标或者文字的判断
- EYOU 列表页如何调取图集模型图片
- 文章列表下的描述判断无描述内容时显示自定义内容
- 搜索功能的调用代码
- 当前栏目如何只调用第一层级栏目
- 如何调用指定栏目下的推荐文章
- 筛选标签应用于select的调用方法
上一篇: Eyoucms程序开发:多态关联
下一篇: Eyoucms程序开发:关联预载入