PHP多次调用model方法,并在CodeIgCenter中使用不同的参数值
我在模型中创建了一个方法,从数据库中获取数据,然后使用不同的方法参数($param)值在控制器中多次调用它。这只适用于一个参数值,其中一个先出现。我知道我做得不对,但我找不到解决办法。请帮忙PHP多次调用model方法,并在CodeIgCenter中使用不同的参数值,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,我在模型中创建了一个方法,从数据库中获取数据,然后使用不同的方法参数($param)值在控制器中多次调用它。这只适用于一个参数值,其中一个先出现。我知道我做得不对,但我找不到解决办法。请帮忙 事实上,我正在尝试根据他们的类型(“wordpress”、“magento”、“shopify”)表单数据库进行分类 My_model.php class My_model extends CI_Model{ public function fun_name($param){ retur
事实上,我正在尝试根据他们的类型(“wordpress”、“magento”、“shopify”)表单数据库进行分类 My_model.php
class My_model extends CI_Model{
public function fun_name($param){
return $this->db->get_where('categories', array('type' => '$param'));
}
}
My_controller.php
class My_controller extends CI_Controller{
public function get_data(){
$this->load->model('my_model');
$data = array(
'first' => $this->my_model->fun_name('wordpress'),
'second' => $this->my_model->fun_name('magento'),
'third' => $this->my_model->fun_name('shopify')
);
$this->load->view('index', $data);
}
}
如果这是你的实际代码
class My_model extends CI_Model{
public function fun_name($param){
if($param = one){
return $this->db->get_where('table', array('id' => '$param'));
}
}
}
那么问题就在下面这一行:
if($param = one){
换成
if($param == 'one'){
在这个
return $this->db->get_where('table', array('id' => '$param'));
将其更改为下面的这一行,因为您不需要在变量周围加引号
return $this->db->get_where('table', array('id' => $param));
显然,您的代码可以得到更好的优化,也就是说,您可能不需要if-else方法,但在不了解整个场景的情况下,推荐解决方案并不容易。如果这是您的实际代码
class My_model extends CI_Model{
public function fun_name($param){
if($param = one){
return $this->db->get_where('table', array('id' => '$param'));
}
}
}
那么问题就在下面这一行:
if($param = one){
换成
if($param == 'one'){
在这个
return $this->db->get_where('table', array('id' => '$param'));
将其更改为下面的这一行,因为您不需要在变量周围加引号
return $this->db->get_where('table', array('id' => $param));
显然,您的代码可以得到更好的优化,也就是说,您可能不需要if-else方法,但在不了解整个场景的情况下,推荐解决方案并不容易。如果您希望使用一个查询从同一个表中选择不同的ID,则可以执行以下操作: 型号:
class My_model extends CI_Model{
public function fun_name($params){
$this->db->where_in('id', $params);
return $this->db->get('table');
}
}
控制器:
class My_controller extends CI_Controller{
public function get_data(){
$this->load->model('my_model');
$params = array('first', 'sec', 'third');
$data['values'] = $this->my_model->fun_name($params);
$this->load->view('index', $data);
}
}
您还可以查看Codeigniter文档:
如果要使用一个查询从同一个表中选择不同的ID,则可以执行以下操作: 型号:
class My_model extends CI_Model{
public function fun_name($params){
$this->db->where_in('id', $params);
return $this->db->get('table');
}
}
控制器:
class My_controller extends CI_Controller{
public function get_data(){
$this->load->model('my_model');
$params = array('first', 'sec', 'third');
$data['values'] = $this->my_model->fun_name($params);
$this->load->view('index', $data);
}
}
您还可以查看Codeigniter文档:
换衣服怎么样
if($param = 'one'){
到
换衣服怎么样
if($param = 'one'){
到
你能试试吗
你的控制器
class My_controller extends CI_Controller{
public function get_data(){
$this->load->model('my_model');
$data['data'] = array(
'first' => $this->my_model->fun_name('param1'),
'second' => $this->my_model->fun_name('param2'),
'third' => $this->my_model->fun_name('param3')
);
$this->load->view('index', $data);
}
}
模型
看法
身份证件
名称
类型
你能试试吗
你的控制器
class My_controller extends CI_Controller{
public function get_data(){
$this->load->model('my_model');
$data['data'] = array(
'first' => $this->my_model->fun_name('param1'),
'second' => $this->my_model->fun_name('param2'),
'third' => $this->my_model->fun_name('param3')
);
$this->load->view('index', $data);
}
}
模型
看法
身份证件
名称
类型
你能帮我打印($data)吗?这是你正在执行的实际代码吗?我假设你只是在“测试”一些原理。在您的模型上使用具有固定值的条件,就目前而言,不是很有用。对不起,伙计们,模型中的条件如果($param=one){},我就错了。这不是实际的代码,但问题是我想要所有三个'first'=>$This->my_model->fun_name('first'),'second'=>$This->$my_model->fun_name('second'),'third'=>$This->$my_model->fun_name('third')的值。事实上,我正试图根据它们的类型建立分类('wordpress','magento','shopslick')表单数据库你能帮我打印($data)吗?这是你正在执行的实际代码吗?我假设你只是在这里“测试”一些原则。在你的模型上使用一个固定值的条件,就目前而言,不是很有用。对不起,伙计们,模型中的条件if($param=one){},我错了。这不是实际的代码,但问题是我想要所有三个'first'=>This->my_model->fun_name('first'),'second'=>This->my_model->fun_name('second'),'third'=>This->my_model->fun_name('third')实际上,我正试图根据它们的类型来划分类别('wordpress'、'magento'、'Shopsick')表单数据库如果($param='one'){为什么要这样做?您正在将'one'赋值给$param。要进行比较,您需要==,即如果($param=='one')){这是我想纠正的错误。现在更新。整个IF语句甚至都不是必需的。在那里没有任何意义。我不知道。一步一个脚印。如果OP问他是否正在试图摆脱iFs,我可以看看其他替代方案options@TimBrownlaw你在这个男人身上真的很好,每个人都试图解决我的打字错误如果($param='one'){您正在将'one'赋值给$param。要进行比较,您需要==,即如果($param=='one')){这是我想纠正的错误。现在更新。整个IF语句甚至都不是必需的。在那里没有任何意义。我不知道。一步一个脚印。如果OP问他是否正在试图摆脱iFs,我可以看看其他替代方案options@TimBrownlaw你在这个男人身上真的很好,每个人都试图解决我的打字错误我发现它甚至不需要抱歉,模型中的条件if($param=one){},我错了。这不是实际的代码,但问题是我想要所有三个'first'=>$This->my_model->fun_name('first'),'second'=>$This->my_model->fun_name('sec')的值,this'=>$this->my_model->fun_name('third')实际上,我正试图根据它们的类型('wordpress','magento','shopslick')表单数据库创建类别对不起,模型中的条件if($param=one){},我错了。这不是实际的代码,但问题是我想要所有三个'first'=>This->my_model->fun_name('first'),'second'=>This->my_model->fun_name('second'),'third'=>This->my_model->fun_name('third')实际上,我正试图根据它们的类型来划分类别('wordpress'、'magento'、'shopslick')表单数据库抱歉,模型中的条件如果($param=one){},我错了。这不是实际的代码,但问题是我想要所有三个'first'=>$This->my_model->fun_name('first')、'second'=>$This->my_model->fun name('sec')的值,this'=>$this->my_model->fun_name('third')事实上,我正试图根据它们的类型('wordpress','magento','shopslick')表单数据库创建类别对不起,模型中的条件if($param=one)