thinkphp6 append

文章描述:

thinkphp with和append使用

 

use app\model\EmployeeModel;

 

$user = EmployeeModel::field('user_id, name, code, dept_id')
            ->with(['dept']) //,'rank'
            ->append(['city_name'])
            ->limit(0,10)->select()->toArray();
 print_r($user);

 

model

 

<?php

namespace app\model;

use app\model\EnumModel;
use think\Model;

class EmployeeModel extends Model
{
    // 表名
    protected $name = 'staff_employee';
    // 表主键
    protected $pk = 'user_id';

    public function dept()
    {
        // hasOne代表关联一张表 hasMany多张表 参数一:要关联的表 参数二:要关联表的外键 参数三:本表键
        return $this->hasOne(EnumModel::class, 'id', 'dept_id')->field('id,name')->where('enum_type',3);
    }
    /* 城市 */
    public function getCityNameAttr($value,$data)
    {
        return (new EnumsModel())->where('EnumID',$data['city_id'])->value('Text');
    }
}

 

<?php

namespace app\model;

use think\Model;

/**
 * 模型
 */
class EnumModel extends Model
{
    // 表名
    protected $name = 'enum';
    // 表主键
    protected $pk = 'id';

}

 

 

<?php

namespace app\model;

use think\Model;

/**
 * 模型
 */
class EnumsModel extends Model
{
    // 表名
    protected $name = 'enums';
    // 表主键
    protected $pk = 'EnumID';

}

 

发布时间:2024/03/11

发表评论