大家好,我有这个codeigniter代码模型是:
<?php
class Product extends CI_Model{
var $title;
var $price;
var $name=" ";
public function __construct($title1,$price1,$name1)
{
parent::__construct();
$this->load->database();
$this->title=$title1;
$this->price=$price1;
$this->name=$name1;
}
function set_Name ($newname)
{
$this->name=$newname;
}
function get_Nmae()
{
return $this->name;
}
function set_title($newtitle){
$this->title=$newtitle;
}
function set_price($newprice) {
$this->price=$newprice;
}
function get_productAttribute (){
$x1=$this->name;
$x2=$this->title;
$x3=$this->price;
$productattribute = array( "$x1","$x2","$x3" );
return $productattribute ;
}
public function get_data(){
$query=$this->db->query('SELECT*FROM Saied');
return $query->row_array();
}
public function insert_indb($var){
if (is_a($var, 'Furniture'))
{
$data= array(
'id1' => '',
'name1'=> $this->title,
'title1' => $this->title,
'price1' => $this->price,
'size1' => $this->size,
'material1'=>$this->material
);
$this->db->insert('Furn',$data);
return $data;
}
elseif (is_a($var, 'CDDVD'))
{
$data1= array(
'id' => '',
'title'=>$this->title,
'price'=>$this->price,
'name'=>$this->name,
'sizemb'=>$this->sizeinmb."MB",
'manufacture'=>$this->manufacturer
);
return $data1;
}
else
{
echo "no spicifed objech";
}
}
}
class Furniture extends Product
{
var $size;
var $material;
public function __construct($title1,$price1,$name1,$sizeset,$materialset)
{
$this->size=$sizeset;
$this->material=$materialset;
parent::__construct($title1,$price1,$name1);
$this->name1=" ";
}
public function setAtribute_Furniture ($size1,$material1)
{
$this->size=$size1;
$this->material=$material1;
}
}
class CDDVD extends Product
{
var $sizeinmb;
var $manufacturer;
public function __construct($title1,$price1,$name1,$sizeinmbset,$manufacturerset)
{
$this->sizeinmb=$sizeinmbset;
$this->manufacturer=$manufacturerset;
parent::__construct($title1,$price1,$name1);
}
public function setAttribute_CDVD ($sizeinmb1,$manufacturer1)
{
$this->sizeinmb=$sizeinmb1."MB";
$this->manufacturer=$manufacturer1;
}
}
$chair = new Furniture("ilove","200 euro"," ","200x200 ","wood");
print_r($chair->insert_indb($chair));
?>
和加载此模型的控制器是:
public function __construct()
{
parent::__construct();
$this->load->model('product');
}
}
事情是每件事我的工作完全如何我插入intodatabase并从数组或数组1打印每个类的值,但codigniter给我流动的错误/警告:遇到PHP错误
Severity: Warning
Message: Missing argument 1 for Product::__construct(), called in /Applications/MAMP/htdocs/SandWeb/system/core/Loader.php on line 353 and defined
Filename: models/Product.php
Line Number: 7
Backtrace:
File: /Applications/MAMP/htdocs/SandWeb/application/models/Product.php
Line: 7
Function: _error_handler
File: /Applications/MAMP/htdocs/SandWeb/application/controllers/Pages.php
Line: 80
Function: model
File: /Applications/MAMP/htdocs/SandWeb/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Missing argument 2 for Product::__construct(), called in /Applications/MAMP/htdocs/SandWeb/system/core/Loader.php on line 353 and defined
Filename: models/Product.php
Line Number: 7
Backtrace:
File: /Applications/MAMP/htdocs/SandWeb/application/models/Product.php
Line: 7
Function: _error_handler
File: /Applications/MAMP/htdocs/SandWeb/application/controllers/Pages.php
Line: 80
Function: model
File: /Applications/MAMP/htdocs/SandWeb/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Missing argument 3 for Product::__construct(), called in /Applications/MAMP/htdocs/SandWeb/system/core/Loader.php on line 353 and defined
Filename: models/Product.php
Line Number: 7
Backtrace:
File: /Applications/MAMP/htdocs/SandWeb/application/models/Product.php
Line: 7
Function: _error_handler
File: /Applications/MAMP/htdocs/SandWeb/application/controllers/Pages.php
Line: 80
Function: model
File: /Applications/MAMP/htdocs/SandWeb/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: title1
Filename: models/Product.php
Line Number: 11
Backtrace:
File: /Applications/MAMP/htdocs/SandWeb/application/models/Product.php
Line: 11
Function: _error_handler
File: /Applications/MAMP/htdocs/SandWeb/application/controllers/Pages.php
Line: 80
Function: model
File: /Applications/MAMP/htdocs/SandWeb/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: price1
Filename: models/Product.php
Line Number: 12
Backtrace:
File: /Applications/MAMP/htdocs/SandWeb/application/models/Product.php
Line: 12
Function: _error_handler
File: /Applications/MAMP/htdocs/SandWeb/application/controllers/Pages.php
Line: 80
Function: model
File: /Applications/MAMP/htdocs/SandWeb/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: name1
Filename: models/Product.php
Line Number: 13
Backtrace:
File: /Applications/MAMP/htdocs/SandWeb/application/models/Product.php
Line: 13
Function: _error_handler
File: /Applications/MAMP/htdocs/SandWeb/application/controllers/Pages.php
Line: 80
Function: model
File: /Applications/MAMP/htdocs/SandWeb/index.php
Line: 315
Function: require_once
所以我的问题是如何忽略这些警告或者我可能以错误的方式加载模型。 ?
答案 0 :(得分:0)
您收到此错误,因为CI模型的构造函数无法接收参数。
查看CI的模型加载器的源代码,该代码位于/YourCIAPP/system/Core/Loader.php
名为model
在该方法的底部,您可以看到带有此代码的CI负载模型
require_once($mod_path.'models/'.$path.$model.'.php');
$this->_ci_models[] = $name;
$CI->$name = new $model();
请参阅CI
只是没有参数的新模型对象到Model类的构造函数。
答案 1 :(得分:0)
只有两种可能性:路径错误或权限错误。