Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
imi
imi
提交
f106a715
imi
项目概览
imi
/
imi
9 个月 前同步成功
通知
53
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
imi
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f106a715
编写于
12月 01, 2021
作者:
weixin_47267244
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复 PolymorphicToOne、PolymorphicToMany
Signed-off-by:
Yurun
<
admin@yurunsoft.com
>
上级
f149b74e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
11 deletion
+13
-11
src/Model/ModelRelationManager.php
src/Model/ModelRelationManager.php
+13
-11
未找到文件。
src/Model/ModelRelationManager.php
浏览文件 @
f106a715
...
...
@@ -343,13 +343,13 @@ class ModelRelationManager
{
$query
->
field
(
...
$subAnnotation
->
fields
);
}
if
(
$
a
nnotation
->
withFields
)
if
(
$
subA
nnotation
->
withFields
)
{
$query
->
withField
(
...
$
a
nnotation
->
withFields
);
$query
->
withField
(
...
$
subA
nnotation
->
withFields
);
}
if
(
isset
(
$withFields
[
$propertyName
]))
{
$withFields
[
$propertyName
](
$query
,
$
a
nnotation
);
$withFields
[
$propertyName
](
$query
,
$
subA
nnotation
);
}
foreach
(
$query
->
select
()
->
getArray
()
as
$resultModel
)
{
...
...
@@ -364,6 +364,8 @@ class ModelRelationManager
{
foreach
(
$item
[
'list'
]
as
$subItem
)
{
/** @var PolymorphicToMany $subAnnotation */
$subAnnotation
=
$subItem
[
'annotation'
];
$rightTable
=
$subItem
[
'rightTable'
];
$middleTable
=
$subItem
[
'middleTable'
];
$middleLeftField
=
$subItem
[
'middleLeftField'
];
...
...
@@ -378,23 +380,23 @@ class ModelRelationManager
$query
=
$rightModel
::
query
(
$modelClass
::
__getMeta
()
->
getDbPoolName
())
->
field
(
...
$queryFields
)
->
join
(
$middleTable
,
$middleTable
.
'.'
.
$middleLeftField
,
'='
,
$rightTable
.
'.'
.
$rightField
)
->
where
(
$middleTable
.
'.'
.
$
annotation
->
type
,
'='
,
$a
nnotation
->
typeValue
)
->
where
(
$middleTable
.
'.'
.
$
subAnnotation
->
type
,
'='
,
$subA
nnotation
->
typeValue
)
->
where
(
$middleTable
.
'.'
.
$middleRightField
,
'in'
,
$ids
);
if
(
$
a
nnotation
->
withFields
)
if
(
$
subA
nnotation
->
withFields
)
{
$query
->
withField
(
...
$
a
nnotation
->
withFields
);
$query
->
withField
(
...
$
subA
nnotation
->
withFields
);
}
if
(
$
a
nnotation
->
order
)
if
(
$
subA
nnotation
->
order
)
{
$query
->
orderRaw
(
$
a
nnotation
->
order
);
$query
->
orderRaw
(
$
subA
nnotation
->
order
);
}
if
(
null
!==
$
a
nnotation
->
limit
)
if
(
null
!==
$
subA
nnotation
->
limit
)
{
$query
->
limit
(
$
a
nnotation
->
limit
);
$query
->
limit
(
$
subA
nnotation
->
limit
);
}
if
(
isset
(
$withFields
[
$propertyName
]))
{
$withFields
[
$propertyName
](
$query
,
$
a
nnotation
);
$withFields
[
$propertyName
](
$query
,
$
subA
nnotation
);
}
$list
=
$query
->
select
()
->
getArray
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录