0
次のコードセグメントが機能しますが、短縮されて効率的になることでさらに改善できると感じていますが、修正可能なものについて考えるのは苦労しています。CodeIgniterを使用して、次のSQLコードまたはHTMLコードを読みやすくするために改良/改善することはできますか?
以下はコードです。
function get_student_stakeholder_refs($debate_id) {
$sql1 = "SELECT
b.id AS debates_id,
c.id AS stakeholder_id,
a.student_id AS student_id
FROM
debate_groups a
inner join debates b ON a.debate_id = b.id
inner join debate_stakeholders c ON a.stakeholder_id = c.id
WHERE
b.starter_pack_id = c.starter_pack_id AND
a.debate_id = b.id AND
b.id = ? AND
a.student_id = ?";
$rslt = $this->db->query($sql1, array($debate_id, $this->get_user_id()))->row();
if(count($rslt)!= 0){
$sql2 = "SELECT * FROM debate_stakeholder_profiles WHERE stakeholder_id = ?";
return $this->db->query($sql2, array($rslt->stakeholder_id))->result_array();
}
}
それが読みやすくなりますように、単一 SQL文に次のSQLステートメントを結合する方法はありますか?
それはあなたのソリューションで名 'stakeholder_id' を維持することは可能ですか?私のコードでいくつかのことが起こります。 – TheAuzzieJesus
いいえ、行全体を選択している場合は、列に別名を付けることはできません。実際に変更したくない場合は、結果行を直接変更することを検討してください。同様に、$ rslt-> stakeholder_id = $ rslt-> id; – which1ispink
ありがとう!美しく動作します。 – TheAuzzieJesus