我在父类中创建了一个图片上传方法。现在我想将输入图像文件从子类传递给该方法。传递文件时出现错误。
父类,
E69CAC
子类,
class BaseController extends Controller{
public function upload($file,$fname,$a,$b,$c){
$file = $request->file('featured');
if ($file->isValid()) {
.....
}else {
.....
}
}
}
我得到一个错误:在null上调用成员函数isValid()。 请问有人可以帮助我吗?在此先感谢:)
答案 0 :(得分:0)
您在调用上载函数时在子类中传递了$ file参数,但随后在上载函数本身中覆盖了它。
class BaseController extends Controller
{
public function upload($file, $fname, $request){
$a = $request->banner_alt;
$b = $request->banner_caption;
$c = $request->banner_description;
// Maybe:
// $file = $request->file($fname)
// ?
$file = $request->file('featured');
if ($file->isValid()) {
.....
}else {
.....
}
}
}
// Child class
class PageController extends BaseController
{
public function store($file, Request $request)
{
BaseController::upload($file, 'pages', $request);
}
}
答案 1 :(得分:0)
您不会在父类的上载方法中发送请求对象,因此只需以此替换您的子类方法,
public function store(Request $request)
{
BaseController::upload($request,'pages',$request->banner_alt,
$request->banner_caption,$request->banner_description);
}