thinkphp 视图模型 两个字段映射同一个表

时间:2022-09-24 14:36:34

thinkphp 视图模型 是挺好用的。

这里有一种情况,例如一个文章表,有一个字段是add_admin_id, 用于记录添加者的id,还有一个字段edit_admin_id, 用于记录最后编辑者的id, 需要用视图模型通过admin_id来查询出真实姓名。这种清空是同一个表的两个字段分别又对应着同一个表。视图可以如下

class Red_userViewModel extends ViewModel{
    
    
    Protected $viewFields = array(
        
        'red_user' => array(
            '*','_type'=>'LEFT'
            ),
        'admin'=>array(
            'name'=>"add_name",'_on' => 'admin.id = red_user.add_admin_id','_type'=>'LEFT'
            ),
        'admin2'=>array(
            'name'=>'edit_name','_table'=> 'tou_admin','_as' => 'admin2','_on' => 'admin2.id = red_user.lastedit_admin_id'
            ),
        );
    

}

可以看出red_user表中add_admin_id对应admin表,而同样是red_user表中的lastedit_admin_id对应admin2,而admin2不过是admin的别名

同样要注意'_type'=>'LEFT'的用法