2019-10-12 10:07:32 1592次浏览 2条回答 0 悬赏 10 金钱

才接触 Yii,不太明白 LoginForm 和 User 的关系。百度查意思就是 LoginForm 和 User,一个用于接收用户提交的数据,一个用于获取数据库的数据。

如果以后有文章类 Post,是不是还要写 Post 提交的 Form 类?一个表单我就要写一个类吗?

最佳答案

  • 蓝色主旋律 发布于 2019-10-12 15:59 举报

    这个我觉得你应该是将yii2手册中的 Model 模型 部分仔细读一下。

    Model 【模型】 提供了校验和属性,LoginModel 用于接收 账号、密码、是否记住我 三个属性,省去了 if(用户名== "") 这种硬代码,而使用 $login_model->load() 和 $login_model->validate()这样优雅的方式进行验证和提示。

    User是纯数据库的表映射模型,与LoginModel的区别是否映射数据库字段,属于Orm核心的一种表现形式。

    User 可以使用其进行数据库增删改查

    $user = new User();
    $user->name = 'test';
    $user->instert();
    

    LoginModel这种"普通"的Model 应用场景:

    登录需求,我输入的账号密码不需要入库,但是还要验证其是否存在,符合输入的要求。
    那么就可以使用继承Model的方式,配合rules,进行校验
    
    $login_model = new Login_model();
    if($login_model->load() && $login_model->validate()) {
    
    }
    
    

    两者都间接或者直接继承了 Model 类。

  • 回答于 2019-10-12 10:36 举报

    理解出现偏差了吧,LoginModel 和 User 没有什么关系,都只是一个 Model 而已,LoginModel 是负责处理登录的数据的 Model,User 是负责用户数据的 Model,各司其职而已,可能因为登录会填写用户的部分数据从而让你产生了误解。

您需要登录后才可以回答。登录 | 立即注册
醉挽清风
见习主管

醉挽清风 南京

注册时间:2018-07-03
最后登录:2022-09-06
在线时长:15小时38分
  • 粉丝1
  • 金钱180
  • 威望10
  • 积分430

热门问题