gpt4 book ai didi

database - 我如何将数据库表与 ATK 中的模型相关联?

转载 作者:搜寻专家 更新时间:2023-10-30 20:31:04 25 4
gpt4 key购买 nike

我有在上下文中存储临时数据的遗留代码。我想使用以下模型将其存储在数据库中:

class Model_MyModel extends Model_Table {
function init(){
parent::init();
$this->addField('myString');
}
}

因此,我可以从遗留 Controller 中访问数据:

class Controller_LegacyController extends Controller {
$myString = $this->api->recall("legacyString");
}

但我看不出如何将所有内容联系在一起(所有示例都使用表单链接到数据库)

谢谢你的帮助,

格雷格。

最佳答案

我发现你的问题和代码有点困惑,但我会尽力提供帮助。

  1. 您不需要 Controller 就可以使用您的模型。当调用 $form->setModel() 时,它会自动为您选择正确的 Controller 。

    $page->add('MVCForm')->setModel('MyModel');

  2. 当您想将数据发送回数据库时,您应该调用 $form->update()。有一个您可以使用的 View ,它将为您执行此操作,称为:FormAndSave

    $page->add('FormAndSave')->setModel('MyModel');//也会将数据保存回数据库。

  3. 如果从数据库加载数据,则需要在模型上调用 loadData()。您的最终代码可能如下所示(stickyGET 确保它在表单提交处理程序中传递 get 参数):

    $this->api->stickyGET('id');$page->add('FormAndSave')->setModel('MyModel')->loadData($_GET['id']);

  4. 方法 recall() 处理 session ,因此您似乎正在从 session 中读取数据。如果您打算这样做,并且想在表单中查看 session 变量的值,那么可以这样做:

    $form->set('myfield',$this->api->recall('legacyString'));

我希望这会给你一些关于如何继续的提示。查看更多样本,http://agiletoolkit.org上有很多样本

关于database - 我如何将数据库表与 ATK 中的模型相关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7271952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com