gpt4 book ai didi

PHP & Codeigniter - 如何将参数传递给模型?

转载 作者:IT王子 更新时间:2023-10-29 00:17:12 27 4
gpt4 key购买 nike

我正在使用以下代码从我的 Controller 中初始化模型:

$this->load->model('model_name');

是否可以以某种方式修改上面的行,以便模型构造函数接收参数?我想在模型构造函数中使用以下代码:

function __construct($param_var) {
parent::Model();

$this->$param_var = $param_var; //I'm not even sure this works in PHP..but different issue
}

这对我可以重用我的模型类非常有帮助。谢谢。

更新:(从其中一个答案中,我原来的问题已经解决了..谢谢!)只是为了解释我为什么要这样做:这个想法是为了能够重用模型类。所以基本上举一个简单的例子,我希望能够将一个“order_by”变量传递给模型类,这样我就可以重用模型类中的逻辑(并动态更改 sql 中的 order-by 值)而无需创建一个单独的类或一个单独的函数。

这是糟糕的设计吗?如果是这样,您能否解释一下为什么您不做这样的事情以及您将如何做?

最佳答案

您不能通过load 函数传递参数。您必须执行以下操作:

$this->load->model('model_name');
$this->model_name->my_constructor('stuff');

在模型中:

function my_constructor($param_var) {
...
}

响应更新:

您可以在调用模型函数时只传递 order_by 值。我假设在您的 Controller 操作中,您有类似 $this->model_name->get($my_id); 的内容,只需将您的 order_by 参数添加到此函数即可。 IMO 这使您的模型逻辑更加灵活/可重用,因为您这样做的方式,我假设在构造函数中设置 order_by 将为每个函数设置 order_by 值。

关于PHP & Codeigniter - 如何将参数传递给模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1149098/

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