[英]Phalcon PHP: determine if create or update in model validation method
我已經在Phalcon中創建了一個模型。 在其中,我有一個validate()方法。 創建記錄時,我要確保記錄獲得名稱,但是我不希望更新時需要該名稱。 我如何用Phalcon確定呢?
在Phalcon的文檔中對其進行了更好的描述。
class Robots extends \Phalcon\Mvc\Model
{
public function initialize()
{
//Skips fields/columns on both INSERT/UPDATE operations
$this->skipAttributes(array('year', 'price'));
//Skips only when inserting
$this->skipAttributesOnCreate(array('created_at'));
//Skips only when updating
$this->skipAttributesOnUpdate(array('modified_in'));
}
}
如果您有更復雜的東西,並且想要使用相同的“驗證”方法進行創建和更新,則可以執行以下操作:
public function beforeValidationOnCreate()
{
$this->_isCreate = 1;
}
public function beforeValidationOnUpdate()
{
$this->_isCreate = 0;
}
public function validation()
{
if ($this->_isCreate) {
// ...
} else {
// ...
}
}
您可以在一個名為beforeValidationOnCreate或beforeCreate的函數中進行驗證,並且僅在創建時才會命中它,而不會更新
public function beforeValidationOnCreate()
{
//Do the validations
}
要么
class MyModel extends \Phalcon\Mvc\Model
{
public function beforeCreate()
{
//Do the validations
}
}
檢查下面的鏈接以獲取更多可以使用的事件:
希望接近您的需求
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.