簡體   English   中英

Codeigniter活動記錄:大於語句

[英]Codeigniter Active record: greater than statement

我正在嘗試將“大於”where語句轉換為CI的Active Record語法。 當我使用這個片段

    $this->db->join('product_stocks', "product_stocks.size_id_fk = product_attributes.id", "left");
    $this->db->where('product_stocks.stock_level', '> 1');      
    $result = $this->db->get('product_attributes')->result_array();

然后打印$ this-> db-> last_query(); 顯示WHERE product_stocks . stock_level = '> 1'當然不正確。 可以這樣做嗎?

我認為這應該可以解決問題:

$this->db->where('product_stocks.stock_level >', '1');  //moved the >

$this->db->where('product_stocks.stock_level >', '1');
要么
 $this->db->where(array('product_stocks.stock_level >'=>'1')); 
應該這樣做。 注意字段名稱和運算符之間的空格; 否則你最終會得到錯誤1064。

您還可以將String參數傳遞給where()函數,

$this->db->where('product_stocks.stock_level > 1');

我想在CI中有以下內容:

 $sQuery = "SELECT auftrag, saal, DATE_FORMAT(konzertdatum,'%e, %M, %Y') AS konzertdatum2 FROM auftrag 
    JOIN saal on auftrag.saal_id = saal.id 
    WHERE konzertdatum < NOW() + INTERVAL 240 DAY AND auftrag like '%$sWord%' order by konzertdatum asc LIMIT 4";
 $aOrder = $this->db->query($sQuery);
 $aOrder = $aOrder->result();

沒有CI就可以正常工作,但是當我使用時

      $this->db->select("auftrag, saal, DATE_FORMAT(konzertdatum,'%e, %M, %Y') AS konzertdatum2", false );
    $this->db->from('auftrag');
    $this->db->join('saal', 'auftrag.saal_id = saal.id');
    $this->db->like('auftrag', $sWord);
    $this->db->where('konzertdatum <', 'NOW() + Interval 240 day');

    $this->db->order_by('konzertdatum');
    $this->db->limit(4);

    $oQuery = $this->db->get();

    $aOrder = $oQuery->result();
    print_r($this->db->last_query());

它返回所有結果不關心的地方(盡管sql似乎很好):

SELECT auftrag, saal, DATE_FORMAT(konzertdatum, '%e, %M, %Y') AS konzertdatum2 FROM (`auftrag`) JOIN `saal` ON `auftrag`.`saal_id` = `saal`.`id` WHERE `konzertdatum` < 'NOW() + Interval 240 day' AND `auftrag` LIKE '%spangenberg%' ORDER BY `konzertdatum` LIMIT 4 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM