【发布时间】:2012-10-14 23:18:04
【问题描述】:
好的,我删除了验证和其他代码,以使这个示例尽可能透明。我无法为我的模型POST VAR。
查看
<?php echo form_open('invoice'); ?>
<?php echo validation_errors(); ?>
<?php echo form_input('order_num', $this->input->post('order_num')); ?>
<?php echo form_submit('submit','submit'); ?>
<?php echo form_close(); ?>
控制器
public function invoice()
{
$order = $this->input->post('order_num');
$this->General_Model->get_customer_order($order);
}
型号
function get_customer_order($order)
{
. . .
$this->db->where('client_orders.id', $order);
$result = $this->db->get('client_orders');
. . .
}
好的 基本上你在表格上输入一个订单号。然后它转到进行验证的控制器(我在这里删除它以保持示例简单),最后它将数据传递给在数据库上运行查询并返回 $result 的模型。
但是,我得到的不是我想要的输出:致命错误:在非对象上调用成员函数 get_customer_order() 并且遇到 PHP 错误严重性:通知消息:未定义属性:Account_dashboard ::$General_Model
我在这里做错了什么?感谢您的帮助。
【问题讨论】:
-
$this->input->post('order_num')是否每次都会检查到FALSE? (例如if ($this->input->post('order_num') === FALSE))?你说你去掉了验证来简化它,但这可能是你的问题所在。 -
@TimPost 不,它没有,为了我的理智,我尝试在没有任何验证的情况下运行表单,就像我上面给出的示例一样,我仍然得到同样的错误:/
-
你能发布模型的前几行(如果有的话,直到构造函数)和你在控制器中用来加载它的代码?
-
是的,去掉代码以使示例透明似乎已经去掉了问题代码。您发布的内容没有任何问题。
标签: php codeigniter