アクティブなレコードはニートのコンセプトですが、時には複雑なクエリを扱うのが難しいことがあります。私はこれがCI文書が欠けている少なくとも1つの場所であることがわかります。mysql to codeigniterアクティブなレコードのヘルプ
とにかく、 これは私が書いたSQLです。それはまだロックされて、ユーザーが完了していないクエストの期待される結果を返し、ユーザーが要件レベル内:
SELECT writing_quests . *
FROM `writing_quests`
LEFT OUTER JOIN members_quests_completed ON members_quests_completed.quest_id = writing_quests.id
LEFT OUTER JOIN members ON members.id = $user_id
WHERE writing_quests.unlocked =1
AND writing_quests.level_required <= $userlevel
AND members_quests_completed.user_id IS NULL
をユーザーがレベル内のこれは、CodeIgniterのアクティブレコードクエリでロックが解除されているすべてのクエストを返し、要件:
$this->db->select('writing_quests.*');
$this->db->from('writing_quests');
$this->db->join('members_quests_completed', 'members_quests_completed.quest_id = writing_quests.id', 'left outer');
$this->db->join('members', "members.id = $user_id", 'left outer');
$this->db->where('writing_quests.unlock', 1);
$this->db->where('writing_quests.level_required <=', $userlevel);
$this->db->where('members_quests_completed.user_id is null', null, true);
私はNullsを要求している方法に何か間違いがあると思います。徹底するために、私はすべてを含めると思った。
あなたは間違って何かがそこにあるものを意味していますか? – ifaour
クエリが異なる結果を返します。 – JoeM05