Я занимаюсь разработкой веб-сайта на пирограммах, и он отлично работал на моем ноутбуке (среда WAMP). Но это дает мне ошибку SQLSTATE[HY000]: General error: 21 bad parameter or other API misuse
, когда я пытаюсь это сделать на моем сервере Ubuntu.
Версия PHP сервера - 7.2.13
Я обнаружил эту проблему в github, но мне не ясно, что они предлагают.
Код моей формы
{% set company_types = {} %}
{% set form = form({
'ajax': true,
'options': {
'redirect': '/merchants/mobile/pin/get',
},
'handler': 'Ksn\\CompanyModule\\Company\\Form\\CompanyFormHandler@handle',
'fields': {
'name':{
'type':'text',
'required':true,
'label': 'Comapany Name'
}
.
.
.
.
и мой код обработчиков форм таков.
<?php namespace Ksn\CompanyModule\Company\Form;
use Anomaly\UsersModule\User\UserRepository;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Anomaly\Streams\Platform\Ui\Form\FormBuilder;
use Ksn\CompanyModule\Company\Contract\CompanyRepositoryInterface;
class CompanyFormHandler
{
use DispatchesJobs;
public function handle(
Guard $auth,
UserRepository $users,
FormBuilder $builder,
CompanyRepositoryInterface $companyRepository
)
{
if(!$user = $auth->user()) {
abort(404);
}
$values = $builder->getFormValues();
$company_arr = [];
foreach ($values as $key => $value)
{
if($key == 'mobile')
{
$user->telephone = $value;
continue;
}
$company_arr[$key] = $value;
}
$company = $companyRepository->newInstance($company_arr);
$company->save();
$user->company_id = $company->getAttribute('id');
// generate random pin
$digits = 4;
$user->mobileverificationpin = rand(pow(10, $digits-1), pow(10, $digits)-1);
$user->status = 4;
$user->save();
//dd($company->getAttribute('id'));
return $builder->getFormResponse();
}
}
Как показывают мои наблюдения, ошибка произошла только при вставке данных.
, как я выделил выше красным, он дает желаемый ответ после серии сообщений об ошибках между прочим. Кто-нибудь знает, как это исправить? Спасибо