本文介绍了cakephp component $ this-> controller-> modelClass的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在组件I中尝试访问Myprofile模型
类SignMeupComponent extends Object
public function register b $ b $ this-> __ isLoggedIn();
if(!empty($ this-> controller-> data)){
extract($ this-> settings);
$ model = $ this-> controller-> modelClass;
$ this-> controller-> loadModel($ model);
$ this-> controller-> {$ model} - > Myprofile-> save($ this-> controller-> data);
$ this-> controller-> data ['Myprofile'] ['user_id'] = $ this-> controller-> {$ model} - > id;
$ this-> controller-> {$ model} - > set($ this-> controller-> data);
if($ this-> controller-> {$ model} - > validates()){
b $ b
- 如何使用$ this-> controller-> modelclass
- 如何使用组件中的任何模型
感谢任何建议
解决方案
$ this-> controller
默认情况下没有定义。您必须手动保存对控制器的引用,例如在您的组件的 initialize()
方法中:
public function initialize(& $ controller,$ settings = array()){
$ this-> controller = $ controller;
}
那么你应该能够访问控制器的属性和方法。 >
In Component I try to access Myprofile Model
class SignMeupComponent extends Object
public function register() {
$this->__isLoggedIn();
if (!empty($this->controller->data)) {
extract($this->settings);
$model = $this->controller->modelClass;
$this->controller->loadModel($model);
$this->controller->{$model}->Myprofile->save($this->controller->data);
$this->controller->data['Myprofile']['user_id'] = $this->controller->{$model}->id;
$this->controller->{$model}->set($this->controller->data);
if ($this->controller->{$model}->validates()) {
- how to use $this->controller->modelclass
- how to use any model in component
thank for any suggest
解决方案
$this->controller
is not defined by default. You have to save a reference to the controller manually, for example in the initialize()
method of your component:
public function initialize(&$controller, $settings = array()) {
$this->controller = $controller;
}
Then you should be able to access the controller's properties and methods.
这篇关于cakephp component $ this-> controller-> modelClass的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!