Laravel: имя функции должно быть строкой - PullRequest
0 голосов
/ 05 сентября 2018

Я сейчас работаю над проектом. Все работало очень хорошо, пока я не попытался перенести некоторые отредактированные таблицы. Я получил эту ошибку:

[Symfony \ Component \ Debug \ Exception \ FatalThrowableError]
Имя функции должно быть строкой

Поскольку я напрямую не показываю, где находится ошибка, я не смог ее найти. Последние вещи, которые я изменил, прежде чем пытаться переносить таблицы:

  • Миграции
  • Laravel Collective / HTML формы
  • Хранить метод в моем контроллере

Как я знаю, миграции и формы не должны быть проблемой с этой ошибкой, поэтому вот мой код контроллера:

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');
}

Если ошибка отсутствует даже в коде контроллера, где это может быть. Любая помощь приветствуется.

1 Ответ

0 голосов
/ 07 июля 2019

Та же проблема в 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...