Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter:DB order by effects两个数据库查询_Php_Mysql_Codeigniter - Fatal编程技术网

Php Codeigniter:DB order by effects两个数据库查询

Php Codeigniter:DB order by effects两个数据库查询,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有两个问题,但只有第一个问题,我想按时间排序。第二个,我不知道 我的代码: $query = $this->db->get('dayone_entries'); $this->db->order_by("time", "desc"); //ordering it if ($query->num_rows() > 0) { foreach ($query->result() as $row) {

我有两个问题,但只有第一个问题,我想按时间排序。第二个,我不知道

我的代码:

 $query = $this->db->get('dayone_entries');
    $this->db->order_by("time", "desc"); //ordering it

    if ($query->num_rows() > 0) {


        foreach ($query->result() as $row) {
            $data[] = $row;
        }

        $query_user = $this->db->get_where('users', array('uid' => $data->uid));

        foreach ($query_user->result() as $row_user) {
            $data[] = $row_user;
        }

        return $data;

使用上面的代码,它在我的两个查询中按时间排序,
$query
$query\u user
我只想在
$query
上排序。有什么帮助吗?

几件事。在Codeigniter中,将所有$this->db->fn()放在$this->db->get()之前。CI存储所有调用,并在运行$this->db->get时生成查询。例如:

$this->db->order_by("time", "desc");
$rows = $this->db->get('dayone_entries')->result();

$row_users = $this->db->get_where('users', array('uid' => $data->uid))->result();
但是,看起来您确实想要使用联接。(我不能100%确定您的代码,但请尝试以下内容)

我猜你正在使用MySQL。上述CI应生成以下查询:

SELECT * FROM dayone_entries
JOIN users ON users.uid = dayone_entries.uid
ORDER BY time DESC;
您可以通过运行

$this->db->last_query();

(就在$this->db->get();)之后)

使用链接方法精确计算变量:

$query = $this->db->order_by("time", "desc")->get('dayone_entries');

所以这不会影响下一个查询。

先生,您真是太棒了。谢谢:)
$query = $this->db->order_by("time", "desc")->get('dayone_entries');