Jul31(2):社内用フレームワーク(データをDBに入れる。)

mysqlにデータを入れる。この作業は別途managerを用いて行うので、新たなmanagerを作り、関数を作る。関数は一般性を持たせるので、フォーム値の値をそのまま持ってきたりしない。

  • SubmitManager
class Elixir_SubmitManager extends Ethna_AppManager
{
	  public function storeVal($data){
        $hobby = $data['hobby'];
        $hobby_str = implode(',',$hobby);

    	$sql =
            "INSERT INTO user_info(
                familyname
                ,firstname
                ,familynamekana
                ,firstnamekana
                ,sex
                ,prefid
                ,zip1
                ,zip2
                ,address1
                ,address2
                ,email
                ,hobby
                ,other_hobby
                ,opinion
                ,createtime
                ,updatetime
            )
            VALUES
             (?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW(),NOW())";

        $this->db->db->query($sql,array(
             $data['lastname']
            ,$data['firstname']
            ,$data['lastnamekana']
            ,$data['firstnamekana']
            ,$data['sex']
            ,$data['zip1']
            ,$data['zip2']
            ,$data['pref']
            ,$data['address1']
            ,$data['address2']
            ,$data['mailaddress']
            ,$hobby_str
            ,$data['o_hobby']
            ,$data['opinion']
        ));


    }

んで、action/Complete.phpでは、

class Elixir_Action_Complete extends Elixir_Action_Confirm
{
・
・
・
   function perform()
    {
		$data = $this->af->getArray(false);
    	$submit_manager = $this->getManager('submit');
    	$submit_manager->storeVal($data);
    	var_dump($data);

        return 'complete';
    }
}

こんな感じです。$dataをstoreValに渡してあげてる。