gpt4 book ai didi

mysql - 如何在 yii2 中编写 mysql 连接查询

转载 作者:行者123 更新时间:2023-11-29 18:00:17 24 4
gpt4 key购买 nike

select
spr.id,spr.total_marks,spr.obtained_marks,
p.paper_title ,p.exam_id,p.subject_id,
sr.reg_no,sr.student_id,
s.student_name
FROM
students s,
student_registration sr,
student_paper_results spr,
papers p
WHERE
s.id = sr.student_id AND
s.id = spr.student_id AND
p.id = spr.paper_id

如何在 yii2 模型中编写上述查询。我想写成Join的形式

最佳答案

有多种方法可以使用查询构建器、Active Record、DAO 为 Yii2 编写此查询。

但是由于您添加的信息或努力最少,甚至没有提供模型名称。我将使用查询生成器 \yii\db\Query(); 编写查询,这些很简单joins如果你在 Yii 工作,你应该知道。

$query=new \yii\db\Query();
$query
->select([new \yii\db\Expression('s.[[student_name]],spr.[[id]],spr.[[total_marks]],spr.[[obtained_marks]],p.[[paper_title]],p.[[exam_id]],p.[[subject_id]],sr.[[reg_no]],sr.[[student_id]],s.[[id]] as student_id')])
->from('students s')
->leftJoin('student_registration sr','sr.student_id=s.id')
->leftJoin('student_paper_results spr','spr.student_id=s.id')
->leftJoin('paper p','p.id=spr.paper_id')
->all();

如果您的 students 表模型名称为 Students,请将上述代码的前 2 行替换为 Students::find()

关于mysql - 如何在 yii2 中编写 mysql 连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48423007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com