多对多关联模型 - 中间表字段读取错误

浏览:787 发布日期:2016/08/22 分类:ThinkPHP5专区 关键字: 模型 关联模型 多对多
修改:
$fields = isset($this->options['allow_field']) && $tableName == '' ?
730行 thinkphp\library\think\db\Query.php

影响:
不加这个表名的判断 会影响 多对多模型里面的代码
return $model::field($tableName . '.*')
->field(true, false, $table, 'pivot', 'pivot__')

534行 thinkphp\library\think\model\Relation.php
$tableName是模型表
$table是中间表
问题在第二个$field,这里的表名是中间表,但是字段读取却是$model模型表的字段,
所以改一下,传入表名参数时的field方法,优先输出该表字段而不是当前模型表的字段。
最佳答案
评论( 相关
后面还有条评论,点击查看>>