在cakephp网站中,我得到了以下模型
在项目/项目上,我想显示捐款表格。例如 物品/产品/?ID = 1234
<h1>item name</h1>
<p>item description</p>
<br />
<p>Would you like to make a donation?</p>
<form method="post" action="???">
<input type="text" name="ccNumer" />
<input type="text" name="ccExpiry" />
<input type="text" name="ccName" />
<input type="submit">
</form>
由于donations
与items
没有任何关系,并且也可以在categories
或其他任何地方使用,因此我不确定如何以正确的方式执行此操作。它应该是一个组件吗?
答案 0 :(得分:1)
我不知道你正在使用哪个版本的cakePHP,所以我假设cakePHP 2.您可以在任何类中加载任何其他类,就像在vanilla PHP中一样。要包含其他模型,请遵循
App::uses('Donation', 'Model'); // first parameter being your ModelName and second the path
现在,您可以通过实例化对象来使用模型的方法。
$donationObj = new Donation();
$donationObj->methodName();
关于官方文件,请点击此处 http://book.cakephp.org/2.0/en/core-utility-libraries/app.html
答案 1 :(得分:1)
要在应用程序的任何位置轻松访问模型,请使用ClassRegistry::init()
。 (看到:
ClassRegistry)。 ClassRegistry::init()
将初始化一个可供使用的模型。
例如,访问模型的方法;
$result = ClassRegistry::init('Donation')->methodName();
或者获取模型的实例;
$MyModel = ClassRegistry::init('Donation');
$result = $MyModel->methodName();
$resultB = $MyModel->anotherMethod();
甚至不需要添加App::uses(...)
,ClassRegistry应该照顾它。