[英]CodeIgniter Join with AND?
我有這個CodeIgniter查詢,它幾乎可以按預期工作。
$this->db->select()
->from('user_issues')
->where(array('user_issues.user_id' => $user_id))
->join('issue_properties', 'user_issues.issue_id = issue_properties.issue_id')
->join('series_properties', 'issue_properties.series_id = series_properties.series_id')
->join('user_issues_count', 'user_issues_count.series_id = series_properties.series_id')
->group_by('issue_properties.series_id')
->order_by('series_properties.name')
->offset($offset)->limit($per_page);
}
該查詢應該返回特定於用戶漫畫集合的數據,而最終聯接只是獲取它發現匹配的第一條記錄,而不管user_id
。
是否可以在CodeIgniter或WHERE
語句中執行AND
聯接之類的操作?
join('user_issues_count', 'user_issues_count.series_id = series_properties.series_id' WHERE 'user_issues_count.user_id = $user_id')
您可以在Active Record Query
中在語義上適當的任何地方添加新的where條件。
$this->db->select()
->from('user_issues')
->where(array('user_issues.user_id' => $user_id))
->join('issue_properties','user_issues.issue_id = issue_properties.issue_id')
->join('series_properties', 'issue_properties.series_id = series_properties.series_id')
->join('user_issues_count','user_issues_count.series_id = series_properties.series_id')
->where("user_issues_count.user_id = ".$user_id) //new WHERE condition
->group_by('issue_properties.series_id')
->order_by('series_properties.name')
->offset($offset)
->limit($per_page);
想法是混合和匹配Active Record Functions
並打印SQL以查看效果-並對其進行調整,直到獲得所需的SQL
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.