php - 如何使用 APIController 在 CakePHP 中插入数据?

标签 php android mysql cakephp

我在Apicontroller.php中有一个Function Order,我已经做了一个注释列,但是为什么它不想把记录列存储到数据库中订单,我很困惑地在 CakePHP 中找到数据插入过程的位置,但是发送电子邮件已经成功,这是我的代码:

public function Order()
{
    $status                                     =   false;
    $message                                        =   ERR_04;
    $code                                           =   "04";

    $request["Order"]["service_id"]             =   empty($_REQUEST["service_id"]) ? "" : $_REQUEST["service_id"];
    $request["Order"]["user_id"]                    =   empty($_REQUEST["user_id"]) ? "" : $_REQUEST["user_id"];
    $request["Order"]["fullname"]                   =   empty($_REQUEST["fullname"]) ? "" : $_REQUEST["fullname"];
    $request["Order"]["email"]                      =   empty($_REQUEST["email"]) ? "" : $_REQUEST["email"];
    $request["Order"]["phone"]                      =   empty($_REQUEST["phone"]) ? "" : $_REQUEST["phone"];

    $request["Order"]["gender"]                     =   empty($_REQUEST["gender"]) ? "" : $_REQUEST["gender"];
    $request["Order"]["address"]                    =   empty($_REQUEST["address"]) ? "" : $_REQUEST["address"];
    $request["Order"]["lt"]                         =   empty($_REQUEST["lt"]) ? "0" : $_REQUEST["lt"];
    $request["Order"]["unit"]                       =   empty($_REQUEST["unit"]) ? "0" : $_REQUEST["unit"];

    $request["Order"]["city_id"]                    =   empty($_REQUEST["city_id"]) ? "" : $_REQUEST["city_id"];
    $request["Order"]["district_id"]                =   empty($_REQUEST["district_id"]) ? "" : $_REQUEST["district_id"];

    $request["Order"]["village_id"]                 =   empty($_REQUEST["village_id"]) ? "" : $_REQUEST["village_id"];
    $request["Order"]["date_order"]                 =   empty($_REQUEST["date_order"]) ? "" : $_REQUEST["date_order"];
    $request["Order"]["time_order"]                 =   empty($_REQUEST["time_order"]) ? "" : $_REQUEST["time_order"];
    $request["Order"]["time_finish"]                =   empty($_REQUEST["time_finish"]) ? "" : $_REQUEST["time_finish"];
    $request["Order"]["building_id"]                =   empty($_REQUEST["building_id"]) ? "" : $_REQUEST["building_id"];

//“注意”变量不能保存在数据库中

    $request["Order"]["note"]                   =   empty($_REQUEST["note"]) ? "" : $_REQUEST["note"];

//我不知道为什么

    $request["Order"]["total_maid"]                 =   empty($_REQUEST["total_maid"]) ? "1" : $_REQUEST["total_maid"];
    $request["Order"]["total_shift"]                =   empty($_REQUEST["total_shift"]) ? "1" : $_REQUEST["total_shift"];
    $request["Order"]["different_gender"]           =   empty($_REQUEST["different_gender"]) ? "0" : $_REQUEST["different_gender"];

    $request["Order"]["price"]                      =   empty($_REQUEST["price"]) ? "0" : $_REQUEST["price"];

    $request["Order"]["total"]                      =   $request["Order"]["total_maid"] * $request["Order"]["total_shift"] * $request["Order"]["price"];

    $request["Order"]["duration"]                   =   empty($_REQUEST["duration"]) ? "0" : $_REQUEST["duration"];

    $timeCoonvert                                   =   strtotime($request["Order"]["date_order"]." ".$request["Order"]["time_order"].":00");
    $request["Order"]["expired_order"]              =   date("Y-m-d H:i:s",mktime(date("H")+5,date("i"),date("s"),date("m"),date("d"),date("Y")));

    $this->loadModel('Order');
    $this->Order->ValidateCheckout();
    $this->Order->set($request);

    $error                                          =   $this->Order->InvalidFields();
    if(empty($error))
    {
        $status     =   true;
        $message    =   ERR_00;
        $code       =   "00";
        $save       =   $this->Order->save($request,array("validate"=>false));
        $ID         =   $this->Order->getLastInsertId();

        $this->Order->BindAll(false);
        $data       =   $this->Order->find('first',array(
                            'conditions'    =>  array(
                                'Order.id'  =>  $ID
                            )
                        ));
        $different_gender   =   ($request["Order"]["different_gender"] == "1") ? "Ya" : "Tidak";
        /****************** EMAIL NOTIFICATION ************************/        
        $search     =   array(
                            '[web_url]',
                            '[logo_url]',
                            '[cms_url]',
                            '[order_id]',
                            '[fullname]',
                            '[phone]',
                            '[address]',
                            '[email]',
                            '[date_order]',
                            '[time_order]',
                            '[total_maid]',
                            '[different_gender]',
                            '[total_shift]',
                            '[bank]',
                            '[total]'
                        );

        $replace    =   array(
                            $this->settings["web_url"],
                            $this->settings["logo_url"],
                            $this->settings["cms_url"],
                            $data["Order"]["order_id_display"],
                            ucwords(strtolower($data["Order"]["fullname"])),
                            $data["Order"]["phone"],
                            $data["Order"]["address"]."<br/>".ucfirst($data["Village"]["name"])."<br/>".ucfirst($data["District"]["name"])."<br/>".ucfirst($data["City"]["name"]),
                            $request["Order"]["email"],
                            date("d M Y",strtotime($data["Order"]["date_order"])),
                            substr($data["Order"]["time_order"],0,-3),
                            $data["Order"]["total_maid"],
                            $different_gender,
                            $data["Order"]["total_shift"],
                            str_replace("\n","<br/>",$this->settings['bank_payment']),
                            "Rp ".number_format($data["Order"]["total"],0,null,",")
                        );
        $this->Action->EmailSend('order', trim($request['Order']['email']), $search, $replace,array(),array(),"Order",$ID,"");
        $this->Action->EmailSend('order', "customer@gomaid.co.id", $search, $replace,array(),array(),"Order",$ID,"");
        /****************** EMAIL NOTIFICATION ************************/
    }
    else
    {
        $status     =   false;
        foreach($error as $k => $v)
        {
            $message    =   $v[0];
            break;
        }
        $code       =   "03";
        $data       =   null;
    }

    $out            =   array("status"=>$status,"message"=>$message,"data"=>$data,"code"=>$code,"request"=>$_REQUEST,"files"=>$_FILES);
    $json           =   json_encode($out);
    echo $json;
    pr($out);
}

这是我收到的邮件....

http://prntscr.com/a05oq9

但这是我的表格 Orders 在注释字段中仍然是空的....

http://prntscr.com/a05pa5

有解决办法吗?我很困惑,我是 CakePHP 的新手,请帮助我...我正在使用 Eclipse 代码 Android 将 Web 中的数据与 CakePHP 一起发送到数据库。

最佳答案

为了其他可能遇到此问题的人,这些是后续步骤:

  1. 清除 app/tmp/cache/model/* 所有文件。
  2. 调试模式设置为2
  3. 使您的 app/tmp 目录可写。

注意:对数据库架构的任何更改都需要遵循 12 的步骤,以便 cakePHP 检测所做的更改。

关于php - 如何使用 APIController 在 CakePHP 中插入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35254980/

相关文章:

php - 使用我的数据库创建一个简单的数组

java - 简单的 PHP NAT 穿透服务器脚本

php - 如何判断SQL更新语句是否删除成功

python - 如何在 %sql 查询中使用 python 列表

php - 从所有表中选择行的简单方法

php - 使用 PHP 检查 MySQL 列中是否有 'string'

android - 当 startActivityForResult 处于 Activity 状态时,如何处理后退按钮?

java - 编辑安卓:onClick value

android - 实现 SeekArc 时构建同步失败

mysql - 在mysql中的表(嵌套表)中创建一个表