setEagerlyType字段理解

admin
2026-07-05 / 0 评论 / 0 阅读

官方文档介绍:V5.0.4+版本开始一对一关联预载入支持两种方式:JOIN方式(一次查询)和IN方式(两次查询),如果要使用IN方式关联预载入,在关联定义方法中添加。

   这句话的意思是jion方式关联和用in方式关联两种方式,in方式关联可以理解为先查出id,在用查出来的id去in另外一个表,也就是做了两次查询。

   以下例子:当设置setEagerlyType为1时,由于用的是in方式,所以用category.name是查不到关联数据的
    //在goods模型中设置关联模型category
    public function category(){
        return $this->belongsTo('Category', 'goods_category_id', 'id', [], 'LEFT')->setEagerlyType(0);
        //return $this->belongsTo('category','goods_category_id','id');
    }
    //goods表关联分类表
    $list = $this->model->with(['category'])->where($where)->order($sort, $order)
    ->paginate($limit);
0

评论 (0)

取消
0:00