Php 缺少页::赞助商()的参数1
我犯了一个非常令人沮丧的错误。我从另一个函数调用发起函数并传递一个参数。但是,发起函数不断给出缺少的参数错误 这是我的密码:Php 缺少页::赞助商()的参数1,php,oop,silverstripe,Php,Oop,Silverstripe,我犯了一个非常令人沮丧的错误。我从另一个函数调用发起函数并传递一个参数。但是,发起函数不断给出缺少的参数错误 这是我的密码: // get random sale public function RandomSale() { static $sale = null; if(!isset($sale)){ $sale = Sale::get()->filter(array('Title:not' => null))->sort("RAND()")-
// get random sale
public function RandomSale() {
static $sale = null;
if(!isset($sale)){
$sale = Sale::get()->filter(array('Title:not' => null))->sort("RAND()")->Limit('1');
$this->sponsor(8);
}
return $sale;
}
public function sponsor($memberid) {
$sponsor = Sponsor::get()->filter(array('MemberID' => $memberid))->Limit('1');
return $sponsor;
}
如何解决此问题?尝试将您的
赞助商()函数命名为更具体的函数,如SponsorByID($memberID)
。您的赞助商数据对象和赞助商()
函数之间可能存在命名冲突 数字8甚至不太可能被传递给方法赞助商()。请尝试将其作为$this->赞助商('8')
输入,以查看您是否仍然收到错误。如果没有,那么快乐的日子
另外,正如elliot_在_silverstripe所说的,尝试清理代码以遵循silverstripe编码惯例。。以后你可以感谢你自己。:)
您确定这是唯一一个调用赞助商()
函数的地方吗?是的,这是唯一一个地方。您能粘贴整个错误消息吗,可能带有跟踪?尝试转到开发模式,然后您将看到一个tracelog,以及从中调用发起人方法的…[警告]第363行的FRAMEWORK/VIEW/VIEWABLEDATA.PHP中调用的PAGE::shandor()缺少参数1,如果删除该行$this->shandor(8)代码>从RandomSale
函数中,错误是否消失?