我是PHP和phalcon的初学者,我想使用自定义验证并创建默认值。
我的控制器是:
use Phalcon\Mvc\Controller;
class OspoController extends Controller
{
public function indexAction()
{
}
public function createAction()
{
$ospo = new Ospos();
// Store and check for errors
$success = $ospo->save(
$this->request->getPost(),
array('isEmailConfirmed', 'email', 'password', 'salt' ,'phoneNum', 'verifiedPhoneStatus', 'languageId', 'firstName', 'lastName', 'address', 'cityId', 'provId', 'countryId', 'postCode')
);
$data = array();
if ($success) {
$data[] = array(
'status' => 'success'
);
echo json_encode($data);
} else {
foreach ($ospo->getMessages() as $message) {
$msg = $message->getMessage();
$data[] = array(
'message' => $msg
);
}
echo json_encode($data);
}
$this->view->disable();
}
我希望isEmailConfirmed
为null
- 我想创建isEmailConfirmed = 0;
如何更改getPost()
的数组值?
(我可以这样做)我应该改变代码吗?
$isEmailConfirmed = $_POST['isEmailConfirmed']
;
和
$ospo->save($isEmailConfirmed, $etc, $etc)
?
谢谢。
答案 0 :(得分:2)
首先,您可以将POST数据存储在变量中。然后只需检查null并在保存之前根据需要指定默认值。
$data = $this->request->getPost();
if (!isset($data['isEmailConfirmed']) {
$data['isEmailConfirmed'] = 0;
}
另一种方法是保存空值,但在这种情况下,您应该为数据库表中的该列设置DEFAULT。