model 和 relation 的 默认alias 不一致

浏览:524 发布日期:2020/10/31
5.0.0 - 普通 - 未处理
5.0 版本没看过,但是6.0 版本是存在一个问题。

Model 默认的 alias 用了tableName, 但是在relation (has 和 hasWhere时出现) 中使用类名(get_class_base_name)为默认alias, 导致使用 has 和 hasWhere 等方法时因alias 不一致出现 Unknown column 'Video.id' in 'on clause' 的错误。目前的解决办法是使用model查询时必须设置 alias 才能正常使用。调用代码如下:$query = VideoModel::with(['orders'])
            ->hasWhere('orders', $where );
        $list = $query->paginate($limit, false);
问题所在文件:db->baseQuery.php->alias()方法, 各个relation类hasWhere()方法;
建议:统一默认alias。
评论(
后面还有条评论,点击查看>>