0

json を使用して単一の codeigniter クエリ結果をコントローラーに渡したい。

私のモデル関数は次のとおりです。

 function get_linked_loads_qty($q){

$sql = $this->db->query("
IF EXISTS(
select qtylinkedorders
from Linked_Order_Summary
join Linked_Order_lines
on Linked_Order_Summary.linkedorderid= Linked_Order_lines.linked_order_id
where load_number='$q'
)
begin

select qtylinkedorders
from Linked_Order_Summary
join Linked_Order_lines
on Linked_Order_Summary.linkedorderid= Linked_Order_lines.linked_order_id
where load_number='$q'

END
ELSE BEGIN

select  1 as qtylinkedorders
from customer_Order_lines
where CustomerOrderID='$q'
group by CustomerOrderID

END
         ");

    $query = $this->db->get();
    if($query->num_rows > 0){
        foreach ($query->result_array() as $row){
            $row_set[] = htmlentities(stripslashes($row[qtylinkedorders])); //build an array
       }
       return $row_set;
    }
  }

私のコントローラーは次のとおりです。

function get_linked_loads_qty(){

    $this->load->model('Sales_model');
    if (isset($_POST['data'])){
        $q = strtolower($_POST['data']);
        $data = $this->Sales_model->get_linked_loads_qty($q);
        $this->output->set_content_type('application/json')->set_output(json_encode($data));
    }

}

SQL は mssql で 100% 動作します。codeigniter エラーは次のとおりです。 <p>Error Number: 42000</p><p>[Microsoft][SQL Server Native Client 11.0][SQL Server]Must specify table to select from.</p><p>SELECT *</p>

前述のように、クエリは mssql で完全に実行されます。

どんな援助も歓迎します。ありがとう。

4

1 に答える 1

1

は必要ないと思います$this->db->get()が、それがエラーの原因です。は$this->db->query("blah...")クエリを実行し、結果を返します。CodeIgniter DB クエリのドキュメントを参照してください

于 2013-07-01T19:08:22.440 に答える