我正在使用Carbon来使用MySQL来管理PHP中的日期,但是我遇到了一个简单的Insert语句问题。要使用Medoo运行SQL语句,这是我要插入的代码:
public function register($code, $fullname, $address, $phones, $email, $now){
$registration = $this->_app['medoo']->insert("customers",[
'cus_code' => $code,
'cus_fullname' => $fullname,
'cus_address' => $address,
'cus_phone_s' => $phones,
'cus_email' => $email,
'created_at' => $now
]);
return $registration;
}
这就是我传递价值的地方:
$code = $request->get('code');
$name = $request->get('name');
$phones = $request->get('phone_s');
$address = $request->get('address');
$email = $request->get('email');
$now = Carbon::now('America/Monterrey');
$customer_registration = $app['customer.model']->register($code, $name, $address, $phones, $email, $now);`
if($customer_registration){
$request_status = true;
}else {
$request_errors[] = "Ocurrio un error al registrar el cliente";
}
该语句返回错误,如果我调试它,这是输出:
INSERT INTO "customers"
("cus_code", "cus_fullname", "cus_address", "cus_phone_s", "cus_email", "created_at")
VALUES
('n20', 'notaria 20', 'lerdo 202', '1234567890', 'mail@mail.com')
正如你所看到的,日期已经缺失,它没有任何意义,因为如果我在我的功能中回应它......
public function register($code, $fullname, $address, $phones, $email, $now){
echo '<p>this is the variable now: '.$now.'</p>';
$this->_app['medoo']->debug()->insert("customers",[
'cus_code' => $code,
'cus_fullname' => $fullname,
'cus_address' => $address,
'cus_phone_s' => $phones,
'cus_email' => $email,
'created_at' => $now
]);
die();
return $registration;
}
...输出
this is the variable now: 2017-05-14 00:52:00
INSERT INTO "customers"
("cus_code", "cus_fullname", "cus_address", "cus_phone_s", "cus_email", "created_at")
VALUES
('n20', 'notaria20', 'lerdo 202', '1234567890', 'mail@mail.com')
我为Date更改了 $ now (&#39; Y-m-d H:m:s&#39;)并且它有效,但对于我的应用,我需要使用Carbon。
我希望我对此很清楚,我对英语不太满意,请帮忙!
答案 0 :(得分:0)
这个问题的答案是在评论中,而不是在SO中发布的方式,所以我在这里发布答案来结束这个问题。
此处他需要以SQL
格式传递时间戳,因为laravel的insert()
不会影响created_at
和updated_at
值,需要手动添加created_at
}值,所以手动将其传递给insert()
方法的正确方法应该是:
Carbon::now('America/Monterrey')->format('Y-m-d H:m:s');
因此代码看起来应该是这样的
$now =Carbon::now('America/Monterrey')->format('Y-m-d H:m:s');
$this->_app['medoo']->debug()->insert("customers",[
'cus_code' => $code,
'cus_fullname' => $fullname,
'cus_address' => $address,
'cus_phone_s' => $phones,
'cus_email' => $email,
'created_at' => $now
]);