ThinkPHP5.1模型save方法,Thinkphp5.1模型中报错Usingthiswhennotinobjectcontext,Usingthiswhennotinobjectcontext的出现原因是因为在静态方法中使用this或者直接调用非静态的方法。
ThinkPHP5.1模型save方法
Thinkphp5.1模型中报错Usingthiswhennotinobjectcontext
Usingthiswhennotinobjectcontext的出现原因是因为在静态方法中使用this或者直接调用非静态的方法。
错误代码
//thinkphp模型类
/*
*新增一条数据
*/
publicstaticfunctionaddBlog(post){
returnthis-save(post);
}
服务层调用
/**
*创建资源
*
*
return\think\Response*/
publicfunctioncreate(post){
result=Blog::addBlog(post);returnresult;
}
解决办法1(在模型方法中实例化Blog模型在调用save)
/*
*新增一条数据
*/
publicstaticfunctionaddBlog(post){
blog=newBlog();
returnblog-save(post);
}
解决办法2
a、addBlog()采用非静态方法可以用this:publicfunctionaddBlog(post)
b、addBlog()采用非静态方法可以用this:publicfunctionaddBlog(post)
/*
*新增一条数据
*/publicfunctionaddBlog(post){
returnthis-save(post);
}
服务层调用(更新为)
/**
*创建资源
*
return\think\Response*/
publicfunctioncreate(post){
blog=newBlog();
result=blog-addBlog(post);
returnresult;
}