2015-06-26 86 views
1

有沒有一種方法來定義每個模型中使用的默認外鍵動作,所以我不必在每個模型內部定義它,像下面一樣?PhalconPHP - 設置默認的外鍵動作

$this->hasOne('id', '\Namespace', 'id', [ 
    'foreignKey' => [ 
     'action' => \Phalcon\Mvc\Model\Relation::ACTION_CASCADE 
    ] 
]); 

回答

1

重寫hasOne()。

class YourBaseModel extends \Phalcon\Mvc\Model { 

    protected function hasOne($local, $remote_model, $remote_field, $options = null) { 
     $options['foreignKey'] = [ 
      'action' => \Phalcon\Mvc\Model\Relation::ACTION_CASCADE 
     ]; 

     parent::hasOne($local, $remote_model, $remote_field, $options); 
    } 

} 

class YourModel extends YourBaseModel { 

    public function initialize() { 
     $this->hasOne('id', '\Namespace', 'id'); 
    } 

}