| 제목 | Call to a member function get_by_od_id() on array 에러 관련 | ||
|---|---|---|---|
| 글쓴이 | 에반스 | 작성시각 | 2015/12/05 00:02:09 |
|
|
|||
|
아래와 같은 에러에 대해 문의 드립니다. Call to a member function get_by_od_id() on array 컨트롤러
function test(){
$this->load->model('cart');
$this->load->model("Orders");
$order = $this->orders->get_by_od_id("1512049909");
$dat = $this->cart->get_total_shipping_cost("1512049909", "ev_cart_order");
}
위에서 첫번째 get_by_od_id 함수는 실행 잘 됩니다. cart 모델
class Cart extends MY_MODEL {
var $isLogged;
var $ss_id;
var $free_shipping;
function __construct() {
parent::__construct();
if(!isset($this->session->userdata['isLogged'])){
$this->isLogged = FALSE;
}else{
$this->isLogged = TRUE;
}
if(!$this->session->userdata["ss_id"]) $this->session->set_userdata("ss_id", md5($this->input->server('REMOTE_USER').time()));
$this->ss_id = $this->session->userdata["ss_id"];
$free = array("some"=>50000, "dome"=>200000);
if($this->session->userdata['level'] == "dome") $this->free_shipping = 200000;
elseif($this->session->userdata['level'] == "kiup") $this->free_shipping = 0;
else $this->free_shipping = 50000;
if($this->session->userdata['language'] <> "korean"){
$this->op_weight = "op_weight_en as op_weight";
$this->free_shipping = 0;
}else{
$this->op_weight = "op_weight";
}
}
function get_total_shipping_cost($ss_id="",$table="ev_cart"){
if($table != "ev_cart"){
$order = $this->orders->get_by_od_id($ss_id);
$level = $this->customers->get_level($order['mb_id']);
$amount = $order['od_amount'] - $order['od_shipping_cost'];
$box = $this->box_qty("", true, $ss_id, $table);
$language = ($order['od_type'] == "oversea")?"english":"korean";
}else{
if(!$ss_id) $ss_id = $this->session->userdata['ss_id'];
$order = $this->session->userdata['order'];
$level = $this->session->userdata['level'];
$amount = $order['od_amount'];
$box = $this->box_qty($ss_id, true);
$language = $this->session->userdata('language');
}
$tCost = 0;
if($order['od_country_receipt'] <> "KR"){
$costs = $this->ems_cost($order['od_country_receipt'], true, "english", $box);
$box = array_merge($costs);
foreach ($box['ems_sm_box'] as $b) {
$tCost += $b['cost'] * $b['qty'];
}
foreach ($box['ems_lg_box'] as $b) {
$tCost += $b['cost'] * $b['qty'];
}
$box['total_shipping_cost'] = $tCost;
}else{
$long_cost = $this->long_distence_cost($order['od_zipcode_receipt'], $box);
if( $this->check_free_shipping($level,$amount) ){
$sm_cost = 0;
}else{
$sm_cost = 2500;
}
foreach ($box['sm_weight'] as $b) {
$tCost += ($b['qty'] * $sm_cost) + ($b['qty'] * $long_cost) ;
}
foreach ($box['lg_weight'] as $b) {
$tCost += ($b['qty'] * $sm_cost) + ($b['qty'] * $long_cost) ;
}
$box['total_shipping_cost'] = $tCost;
}
return $box;
}
}
위 에서 31번줄에 get_by_od_id 에서 글제목과 같은 에러가 납니다. 이유가 뭔지 모르겠네요. 이전에는 잘 되다가 갑자기 되지 않네요. 혹시 원인을 아시는 분 계십니까? |
|||
| 다음글 | 세션 재 질문 (4) | ||
| 이전글 | 다시 simple_post질문 (아래글좀 지워주세요) (1) | ||
|
한대승(불의회상)
/
2015/12/05 11:31:02 /
추천
0
|
|
에반스
/
2015/12/07 14:09:25 /
추천
0
아하! 그걸 미쳐 생각 못했습니다. 정말, 감사합니다. ㅠ_ㅠ
|
cart 생성자 함수에서 미리 orders 모델을 로드 하면 해결 됩니다.