2017-04-03 1 views
0

Ich habe einige Probleme hier V_shop_menu $ order_uuid füllt nicht. Jetzt vermute ich, das ist, weil es noch zu schaffen ist, ist dies weiter unten getan. Das Problem, das ich habe, ist, gibt es 2 Aussagen hier einfügen Tabellen, aber sie beide aufeinander verlassen.Zugriff auf Variable, die noch erstellt werden soll

Ich habe ein bisschen Hühnchen und Ei Situation, da ich $ Shop_menu_uuid aus dem oberen Bereich brauche, um den unteren Einsatz zu vervollständigen. Ich wurde dazu gebracht, zu glauben, dass es in der gleichen öffentlichen Funktion funktionieren würde, aber das ist nicht der Fall.

Was muss ich tun, damit dies geschieht?

Danke!

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); 

Antwort

0

Jetzt bin zu raten ich dies, weil seine noch diese weiter unten getan erstellt werden soll.

Ja, Sie haben Recht.

Es ist ziemlich einfach. Einfügen v_shop_menus Daten ohne $order_uuid. nach dem Einfügen in v_orders, erhalten Sie die $order_uuid und aktualisieren Sie die v_shop_menus mit $shop_menu_uuid.

+0

Ich wusste, dass das technisch möglich wäre, aber ich hoffte auf eine php-Funktion, um diese zusätzliche Codierung zu speichern. Vielen Dank –

Verwandte Themen