пользовательский фалкон проверки без библиотеки

Я новичок в 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)?

Спасибо.


person Faisal    schedule 04.08.2016    source источник
comment
Как вы отправляете isEmailConfirmed? через ajax / form submit?   -  person Timothy    schedule 04.08.2016
comment
позже через токен из электронной почты пользователя @Timothy   -  person Faisal    schedule 05.08.2016


Ответы (1)


Прежде всего, вы можете просто хранить данные POST в переменной. Затем просто проверьте значение null и при необходимости присвойте значение по умолчанию перед сохранением.

$data = $this->request->getPost();
if (!isset($data['isEmailConfirmed']) {
    $data['isEmailConfirmed'] = 0;
} 

Другой способ - сохранить нулевое значение, но в этом случае вы должны установить DEFAULT для этого столбца в таблице базы данных.

person denblackstache    schedule 11.08.2016