0

在一个 cakephp 网站中,我得到了以下模型

  • 项目
  • 类别
  • 科目
  • ETC

在项目/项目上,我想显示捐赠表格。例如 items/item/?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其他地方使用,我不确定如何以正确的方式做到这一点。它应该是一个组件吗?

4

2 回答 2

1

我不知道您使用的是哪个版本的 cakePHP,所以我假设 cakePHP 2。您可以在任何类中加载任何其他类,就像在普通 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

于 2013-05-31T05:02:09.577 回答
1

要在应用程序的任何位置轻松访问模型,请使用ClassRegistry::init(). (参见: ClassRegistry)。ClassRegistry::init()将初始化一个可供使用的模型。

例如,访问模型的方法;

$result = ClassRegistry::init('Donation')->methodName();

或者获取一个模型的实例;

$MyModel = ClassRegistry::init('Donation');

$result  = $MyModel->methodName();
$resultB = $MyModel->anotherMethod();

App::uses(...)甚至不需要添加,ClassRegistry 应该负责。

于 2013-06-03T07:24:56.937 回答