我想知道如何在控制器中设置一些变量,然后能够在我的模型中访问它们以及该模型的行为。
我试过以下,但没有运气: 在控制器中:$ this-> Model-> data ['foo'] =“bar”; 行为:$ Model-> data ['foo'];
感谢任何帮助!
答案 0 :(得分:1)
传递数据的一种方法是通过模型中的用户定义函数。
例如,
$flag = $this->Model->checkIntegrity($this->data);
在模型中,
function checkIntegrity($data) {
...
}
如果您希望直接更改数据,也可以将它们作为参考传递:
function checkIntegrity(&$data) {
...
}
答案 1 :(得分:0)
这取决于您尝试传递的数据类型。如果是模型/行为设置,则可以使用类属性。例如:
在模特或行为中:
public $custom_variable = null; // or other default value
在控制器中:
$this->Model->custom_variable = 'new value';
或
$this->Behavior->custom_variable = 'new value';