Мой веб-сайт развернут с помощью Heroku (php / Laravel)
Я хочу загрузить пользователей на свой веб-сайт с помощью загрузки файла .csv.
Всякий раз, когда я загружаю пользователей через .csv, онвыдает сообщение об ошибке SQLSTATE [23502].
SQLSTATE [23502]: нарушение не нулевое: 7 ОШИБКА: нулевое значение в столбце «first_name» нарушает ненулевое ограничение
DETAIL: строка с ошибками содержит (3, ноль, 0, ноль, ноль, ноль, ноль, ноль, ноль, ноль, 2019-05-02 15:00:48, 2019-05-02 15:00:48, ноль).(SQL: вставить в значения «users» («updated_at», «creation_at») (2019-05-02 15:00:48, 2019-05-02 15:00:48), возвращая «id»)
Я попытался протестировать свой код, загрузив файл .csv в localhost, похоже, он работает отлично.Но всякий раз, когда я тестирую его на своем развернутом бесплатном веб-сайте Heroku, он выдает мне код ошибки SQLSTATE [23502].
UploadController
public function index()
{
$users = User::where('id', Auth::user()->id)->get();
return view('admin.uploads.index',compact('users'));
}
public function store(Request $request)
{
//get file
$upload = $request->file('upload-file');
$filePath = $upload->getRealPath();
//open file
$file = fopen($filePath, 'r');
$header = fgetcsv($file);
$escapedHeader = [];
foreach ($header as $key => $value) {
$lheader = strtolower($value);
$escapedItem = preg_replace('/[^a-z_]/', '', $lheader);
array_push($escapedHeader, $escapedItem);
}
// looping through other columns
while ($columns = fgetcsv($file)) {
if ($columns[0] == "") {
continue;
}
foreach ($columns as $key => $value) {
$val = preg_replace('/\D/', '', $value);
}
$data = array_combine($escapedHeader, $columns);
foreach ($data as $key => $value) {
$value = ($key == 'role_id' || $key == 'is_active') ? (integer)$value : (string)$value;
}
$role_id = $data['role_id'];
$is_active = $data['is_active'];
$first_name = $data['first_name'];
$last_name = $data['last_name'];
$email = $data['email'];
$password = $data['password'];
$course = $data['course'];
$student_number = $data['student_number'];
$user = User::create();
$user->role_id = $role_id;
$user->is_active = $is_active;
$user->first_name = $first_name;
$user->last_name = $last_name;
$user->email = $email;
$user->password = bcrypt($password);
$user->save();
$student = Student::create();
$student->user_id = $user->id;
$student->course = $course;
$student->student_number = $student_number;
$student->save();
}
Session::flash('success', 'You successfully created new users.');
return redirect('/admin/users');
}
Что может быть причинойэто сообщение об ошибке на моем развернутом веб-сайте?Я подозреваю, что это может быть несоответствие между базой данных моего развернутого веб-сайта и базой данных localhost.
Как я могу сделать мой код совместимым, возможно?
Спасибо за расширенную помощь!