2017-04-03 47 views
0

我在這裏遇到一些麻煩V_shop_menu $ order_uuid沒有填充。現在我猜這是因爲它尚未創建,這是在下面進一步完成的。我遇到的問題是這裏有兩條語句插入表格,但它們都相互依賴。訪問變量尚未創建

我有點雞和雞蛋的情況,因爲我需要$ shop_menu_uuid從頂部區域完成底部插入。我被帶到相信,因爲他們在同一個公共職能,它只會工作,但事實並非如此。

我需要做些什麼才能做到這一點?

謝謝!

public function add_shopmenu(){ 
    $postData = $this->input->post(); 

    $condition['conditions'][] = "site_name ='".$this->sessionInfo['site']."'"; 
    $site = $this->frontguide_Model->selectSingleRow("t_place",$condition); 
    $site_uuid = $site['site_uuid']; 

    unset($condition); 
    $condition['conditions'][] = "site_uuid ='".$site['site_uuid']."'"; 
    $condition['conditions'][] = "shop_menu_name ='".$postData['shop_menu_name']."'"; 
    $shopmenu_name = $this->frontguide_Model->selectData("v_shop_menus",$condition); 


    unset($condition); 
    $condition['conditions'][] = "site_uuid ='".$site['site_uuid']."'"; 
    $shopmenus = $this->frontguide_Model->selectData("v_shop_menus",$condition); 


    $shop_menu_enabled = (isset($postData['shop_menu_enabled']))?$postData['shop_menu_enabled']:"false"; 
    $shop_menu_uuid = $this->frontguide_functions->uuid(); 
    $v_shop_menu= array(
     "shop_menu_uuid" =>$shop_menu_uuid, 
     "site_uuid" =>$site_uuid, 
     "order_uuid" =>$order_uuid, 
     "shop_menu_extension" =>$shop_menu_extension, 
     "shop_menu_name" =>$postData['shop_menu_name'], 
     "shop_menu_greet_long" =>$postData['shop_menu_greet_long'], 
     "shop_menu_greet_short" =>$postData['shop_menu_greet_short'], 
     "shop_menu_timeout" =>$postData['shop_menu_timeout'], 
     "shop_menu_enabled" => $shop_menu_enabled, 
     "shop_menu_cid_prefix"=>$postData['shop_menu_cid_prefix'] 
    ); 
    log_message('debug',print_r($v_shop_menu,TRUE)); 

    $vgu_response = $this->frontguide_Model->insert("v_shop_menus",$v_shop_menu); 

    $shop_menu_option_digits = $postData['shop_menu_option_digits']; 
    $shop_menu_option_order = $postData['shop_menu_option_order']; 
    $shop_menu_option_description = $postData['shop_menu_option_description']; 
    $shop_menu_option_param = $postData['shop_menu_option_param']; 

    for($i=0;$i<count($shop_menu_option_digits);$i++){ 
     $option = array(); 
     $option['shop_menu_option_digits'] = $shop_menu_option_digits[$i]; 
     $option['shop_menu_option_order'] = $shop_menu_option_order[$i]; 
     $option['shop_menu_option_description'] = $shop_menu_option_description[$i]; 
     $option['shop_menu_option_param'] = $shop_menu_option_param[$i]; 
     $shop_menu_option_uuid= $this->frontguide_functions->uuid(); 
     $option['shop_menu_option_uuid'] = $shop_menu_option_uuid; 
     $option['shop_menu_uuid'] = $shop_menu_uuid; 
     $option['site_uuid'] = $site_uuid; 
     $vgu_response = $this->frontguide_Model->insert("v_shop_menu_options",$option); 
    } 


    $order_uuid = $this->frontguide_functions->uuid(); 
    $order_data = array(
     "site_uuid"=>$site_uuid, 
     "order_uuid"=>$order_uuid, 
     「offer_uuid" => "a6788e9b-67bc-bd1b-df59-ggg5d51289ab", 
     "order_context"=>$site['site_name'], 
     "order_name" =>$postData['shop_menu_name'], 
     "order_number" =>$shop_menu_extension, 
     "order_continue" =>'true', 
     "order_order" =>'333', 
     "order_enabled" =>"true", 
    ); 

    $v_orders = $this->frontguide_Model->insert("v_orders",$order_data); 

回答

0

現在,我猜這是因爲它尚未創建下面將進一步進行 。

是的你是對的。

這很簡單。 插入v_shop_menus數據沒有$order_uuid。 插入v_orders後,獲取$order_uuid並使用$shop_menu_uuid更新v_shop_menus

+0

我確實知道這在技術上是可行的,但希望用PHP函數來保存額外的代碼。謝謝 –