相关疑难解决方法(0)

Codeigniter:$ this-> db-> last_query(); 执行查询?

查询执行是否发生在get_where()以下codeigniter活动记录语句的子句中?

$this->db->select('*');
    $q = $this->db->get_where('Contacts', array('id' => $contact_id));

    $sql = $this->db->last_query();
Run Code Online (Sandbox Code Playgroud)

或者,一旦你打电话给它,它会发生result_array()吗?

并且是$this->db->last_query();获取查询字符串的可靠方法.

activerecord codeigniter codeigniter-2

41
推荐指数
1
解决办法
23万
查看次数

如何将此SQL重写为CodeIgniter的Active Records?

SELECT *, SUM(tbl.relevance) AS relevance FROM
(
    (
        SELECT q_id,
        MATCH(a_content) AGAINST ('?????') AS relevance
        FROM answers

        WHERE
        MATCH(a_content) AGAINST ('?????')
    )
    UNION
    (
        SELECT q_id,
        (MATCH(q_content) AGAINST ('?????')) * 1.5 AS relevance
        FROM questions

        WHERE
        MATCH(q_content) AGAINST ('?????')
    )
) AS tbl

JOIN questions ON questions.q_id = tbl.q_id

GROUP BY tbl.q_id
ORDER BY relevance DESC
Run Code Online (Sandbox Code Playgroud)

sql activerecord codeigniter

1
推荐指数
1
解决办法
3921
查看次数

CodeIgniter Active Record'喜欢'忽略'在哪里'

使用like进行非常简单的搜索,并且可以省略选项,但是我发现like语句正在使查询忽略where语句

$this->db->like('LOWER(location) OR LOWER(name)', strtolower($term));
$this->db->where('stage', 1);
$this->db->order_by("name", "asc"); 
$query = $this->db->get($this->user_table);
return $query->result();
Run Code Online (Sandbox Code Playgroud)

使用$ term ="dublin"生成上述内容的示例;

SELECT * FROM (`users`) WHERE `stage` = 1 AND LOWER(location) OR LOWER(name) LIKE '%dublin%' ORDER BY `name` asc"
Run Code Online (Sandbox Code Playgroud)

它仍然返回'stage'不等于1的行.

有任何想法吗?谢谢!

php activerecord codeigniter

1
推荐指数
1
解决办法
6084
查看次数

标签 统计

activerecord ×3

codeigniter ×3

codeigniter-2 ×1

php ×1

sql ×1