你可以帮助我有两个表images
和note
。我想从这些表中获取所有项目并按日期排序。我可能在codeigniter中使用活动记录。表是独立的。
感谢您的回复。
答案 0 :(得分:1)
这应该有效:
$this->db->orderby("date", "ASC"); //or desc
$query = $this->db->get('images'); //or $query = $this->db->get('note');
$result=$query->result_array();
print_r($result);
或者如果你想使用union all
$this->db->query('SELECT * FROM (SELECT id, date FROM images UNION ALL SELECT id, date FROM note) result ORDER BY result.date');
请注意,UNION中的每个SELECT语句必须具有相同的列数。列还必须具有类似的数据类型。此外,每个SELECT语句中的列必须与http://www.w3schools.com/sql/sql_union.asp的顺序相同。
答案 1 :(得分:1)
我想你想要一个交叉加入。 这是你的codeigniter代码
$this->db->from("images ,note");
$this->db->select("images.*,note.*);
//make sure both dont have same column name other wise use this
//$this->db->select("images.column1,images.column2,note.column1);
$this->db->orderby("images.date", "DESC");
//you can add more orderby
//you can add where condition too
$result=$this->db->get()->result_array();
现在您将获得跨产品。 希望它会对你有所帮助。
答案 2 :(得分:0)
你在哪个表中有日期栏?我假设你在图像表中有它。
$this->db->select('images.coulmn1, images.culmn2, images.date_col, note.col1, note.col2');
$this->db->from('images');
$this->db->join('note', 'note.key1 = images.key1); //key1 is key field to relate both table.
$this->db->order_by("images.date_col", "desc");
$result = $this->db->get()->result_array();
希望它会有所帮助。
答案 3 :(得分:0)
试试这个:
$this->db->select('*');
$this->db->from('images');
$this->db->join('note');
$this->db->orderby("date column name", "ASC");
$query = $this->db->get();
$result=$query->result_array();
print_r($result);