[英]Call to a member function load() on null Yii2
I am new to Yii2
framework. 我是
Yii2
框架的Yii2
。 I am trying to save a form but I am unable to do it. 我正在尝试保存表格,但无法执行。 The form look like
形式看起来像
The javascript
is below javascript
在下面
$(document).ready(function () {
var surveyReferences = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('meter_msn'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: 'survey',
remote: {
url: '$url2?q=%QUERY',
wildcard: '%QUERY'
}
});
$('#the-mter-id').typeahead(null, {
limit: 50,
name: 'ref-numbers',
display: 'meter_msn',
source: surveyReferences,
suggestion: function(data) {
return '<p><strong>' + data.id + '</strong> – ' + data.meter_msn + '</p>';
}
}
);
jQuery('#the-mter-id').on('typeahead:selected',function(e,datum) {
var html = '<div class="selcted-meters"><input type="hidden" name="selected_meters[]" value="'+datum.id+'" />'+datum.meter_msn+'<a onclick="$(this).closest(\'.selcted-meters\').remove()">X</a></div>';
$('#selected_mters_container').append(html);
$('#routemeters-mter_id').val(datum.meter_msn);
$('#routemeters-user_id').val(datum.issued_user);
$('#the-mter-id').typeahead('val','');
});
});
Below is my actionCreate
function in my controller
下面是我
controller
actionCreate
函数
$model = new RouteMeters();
if (isset($_REQUEST['selected_meters']))
{
$m = RouteMeters::findOne($_REQUEST['selected_meters']);
foreach($_REQUEST['selected_meters'] as $k=>$v)
{
$m = RouteMeters::findOne($v);
$m ->load(Yii::$app->request->post());
if ($m->save())
{
return $this->redirect(['view','id'=>$model->id]);
}
else
{
return $this->render('create',[
'model' => $model,
]);
}
}
}else
{
return $this->render('create',[
'model' => $model,
]);
}
Now when I click the create button I am getting the bellow error 现在,当我单击创建按钮时,出现以下错误
Call to a member function load() on null
在null上调用成员函数load()
Which points to 指向哪
$m ->load(Yii::$app->request->post());
$ m-> load(Yii :: $ app-> request-> post());
I have also searched for the solution but couldn't able to find it. 我也搜索了解决方案,但找不到它。 Also I have checked the response of
$m
by doing var_dump($m);
我还通过执行
var_dump($m);
检查了$m
的响应var_dump($m);
after lod()
and I am getting the output. 在
lod()
,我得到了输出。
I am stuck to it an don't know what to do 我坚持不知道该怎么办
Any help would be highly appreciated 任何帮助将不胜感激
$m = RouteMeters::findOne($v);
is not finding anything, so the best to check for null before loading like if (isset($m)){$m->load(...)
没有找到任何东西,所以最好在加载之前检查空值,例如
if (isset($m)){$m->load(...)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.