我目前正在研究一个项目。一切正常,直到我尝试迁移一些我编辑过的表。我收到此错误:
[Symfony \ Component \ Debug \ Exception \ FatalThrowableError]
函数名称必须是字符串
由于我没有直接向我显示错误在哪里,所以找不到它。在尝试迁移表之前,我做了最后的更改:
据我所知,迁移和表单不应该是此错误的问题,所以这是我的控制器代码:
public function store(Request $request)
{
$user = Auth::user();
$input = $request->all();
if ($file = $request->file('photo_id')){
$name = time().$file->getClientOriginalName();
$file->move('images', $name);
$photo = Photo::create(['file'=>$name]);
$input['photo_id'] = $photo->id;
}
$user->posts()->create($input);
return redirect('/userPanel');
}
如果该错误甚至不是控制器代码中的错误,可能在哪里。任何帮助表示赞赏。
答案 0 :(得分:0)
Laravel中的相同问题可以解决
Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)
Function name must be a string
选中storage/logs/laravel.log
local.ERROR: Function name must be a string {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Function name must be a string at E:\\Project\\workspace\\turttyKidsProject\\app\\Http\\Controllers\\SiteContactController.php:52)
[stacktrace]
解决方案 数据字段请求其他格式,但是您正在尝试保存对象。
$objectSave= new ObjectClass;
$objectSave->feild_db = $request->post('request_name');
检查是否使用表单提交方法访问请求。可能是POST or GET
答案 1 :(得分:0)
我发现这是因为一个非常愚蠢的错误,我将变量称为函数...
$ownedMacs = intval($data()['owned_mac']);
更改为
$ownedMacs = intval($data['owned_mac']);
当我们做一些真正的愚蠢的事情时,通常会出现此错误消息! :)