如何解决查询生成器原始子查询不起作用
我在运行此代码时遇到问题。它说:
我不知道这是否来自 subquery
。这样写 subquery
是否正确?
$result = DB::table('grievance_redress_info')
->select(
'complainer_name','phone','complaint_date','address','complaintSub.name_en','resolve_action_date',DB::raw("(SELECT grievance_history.status
FROM grievance_history
WHERE grievance_history.grievance_id=grievance_redress_info.id
ORDER BY grievance_history.id DESC LIMIT 1) AS current_status")
)
->leftJoin("common_labels AS
complaintSub",'grievance_redress_info.complaint_subject_id','=','complaintSub.id')
->get();
解决方法
我认为你可以这样做
from pprint import pprint
def reformat_flat_info(flat):
reformatted = {}
for o in flat:
key = o["aid"]
del o["aid"]
reformatted[key] = o
return reformatted
def expand_data(aid,flat,lvl=0):
obj = flat[aid]
if obj is None: return {aid: obj}
obj.update({"aid": aid})
if lvl > 1:
return {aid: None}
for nid,id in enumerate(obj["data"]):
obj["data"][nid] = expand_data(id,lvl=lvl+1)
if "nested_data" in obj:
for nid,id in enumerate(obj["nested_data"]["data"]):
obj["nested_data"]["data"][nid] = expand_data(id,lvl=lvl+1)
return {aid: obj}
# Provide the flat information structure
flat_info = [
{
"aid": "id3","data": ["id1","id2"]
},{
"aid": "id1","data": ["id3",{
"aid": "id2","nested_data": {"aid": "id4","atype": "nested","id3"]},"data": []
}
]
pprint(flat_info)
print('-'*80)
# Reformat the flat information structure
new_flat_info = reformat_flat_info(flat=flat_info)
pprint(new_flat_info)
print('-'*80)
# Generate the result
starting_id = "id3"
result = expand_data(aid=starting_id,flat=new_flat_info)
pprint(result)
您可以查看docs了解更多
我希望这有效!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。