crx349 发表于 2018-6-29 01:22:25

Thinkphp Model 关联模型使用实例

实例试用情况:

1.有2个Model 用category_id字段关联
2.模型ProductCollection 需要调用 ProductCategory中的数据


其中:ProductCollection写法

/**
       * 商品收藏列表
       * @param      $member_list_id
       * @return array
       */
        public static function collection_list($member_list_id) {
                $where['member_list_id'] = $member_list_id;
                $order = ['time' => 'DESC'];
                $field = ['product_id','category_id'];

                $list = self::paginates($field, $where, $order);

                if (!$list->isEmpty()) {
                        $list->load(['product','productCategory']);
                        $list->hidden(['product','productCategory']);
                }

                return $list->toArray();
        }

/**
   * 关联商品规格 一对一
   * @return \think\model\relation\BelongsTo
   */
    public function productCategory()
    {
      $relation = $this->belongsTo(ProductCategory::getModel(),'category_id');
      $relation->where('enable', 1);
      $relation->order('sort', 'ASC');
      return $relation;
    }

crx349 发表于 2018-8-2 04:12:51

// 数据库调试模式
    'debug'          => true,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'deploy'         => 0,
    // 数据库读写是否分离 主从式有效
    'rw_separate'    => false,
    // 读写分离后 主服务器数量
    'master_num'   => 1,
    // 指定从服务器序号
    'slave_no'       => '',
    // 是否严格检查字段是否存在
    'fields_strict'=> true,
    // 数据集返回类型 array 数组 collection Collection对象
    'resultset_type' => 'array',
    // 是否自动写入时间戳字段
    'auto_timestamp' => false,
        //自动时间格式转换
        'datetime_format'=>false,
    // 是否需要进行SQL性能分析
    'sql_explain'    => false,

多库关联模型必填配置
页: [1]
查看完整版本: Thinkphp Model 关联模型使用实例