【发布时间】:2015-10-02 00:57:52
【问题描述】:
我希望能够在我的应用程序的任何位置显示表格中的属性,并让用户对其进行编辑。这意味着数据将来自数据库中的一行。每列都有一个默认值,用户可以根据需要更改该默认值。
表格列可能如下所示:
|编号 | admin_id |从业者 |从业者 |学生 |学生 |等等……
这是我的模型:
class Lang_trans_model extends CI_Model {
public function get_lang_trans($admin_id){
$this->db->where('admin_id', $admin_id);
$query = $this->db->get('lang_trans');
return $query->row();
}
这是我的 MY_Controller:
class MY_Controller extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('key_items_model');
$this->load->model('lang_trans_model');
foreach ($this->key_items_model->get_key_items() as $result){
$this->label[$result->key] = $result->value;
}
//$admin_id = $this->session->userdata('admin_id');
$admin_id = 3;
$lang = $this->lang_trans_model->get_lang_trans($admin_id);
//not sure what should go here????
//I want to be able to use $lang->practitioner; to be able to have practitioner, or the edited attribute to show on the page
var_dump($lang);
// produces the following:
//object(stdClass)[26]
//public 'id' => string '3' (length=1)
//public 'admin_id' => string '3' (length=1)
//public 'practitioner' => string 'blah' (length=4)
//public 'practitioners' => string 'blahplural' (length=10)
如何完成 MY_Controller 以便能够在我的应用程序的任何位置使用这些数据字段?
我不介意使用面向对象的语法或数组语法。哪个更容易。我只是不知道如何在每个视图中不使用 foreach 语句来显示字段。我想用 $lang->practitioner 调用数据;视图中的格式。
提前致谢。
【问题讨论】:
-
将结果赋值给变量,即
$lang_trans_key_items = $this->key_items_model->get_key_items()。var_dump($lang_trans_key_items);exit;看看你有什么以及以什么形式。 -
$lang的转储是什么?请对其进行有问题的编辑,但请将其格式化为标签。 -
没有教师字段。
-
你在
$lang->practitioner上得到了什么?这应该是正确的使用。 -
如果我要从控制器中回显 $lang->practitioner,它可以工作,但我想从各种视图中回显它。当我输入 practitioner; ?> 从一个视图中,我得到以下错误: 1. 严重性:通知,消息:未定义变量:lang,以及 2. 试图获取非对象的属性。这一定与将 $lang 变量传递给视图有关?
标签: mysql arrays codeigniter view controller