Автоматически генерировать счет-фактуру с помощью Laravel

#php #laravel #random #invoice #auto-generate

#php #laravel #Случайный #счет-фактура #автоматическое создание

Вопрос:

Я работаю над очень простым проектом для моего школьного задания. Итак, это сайт аренды жилья. Кажется, все в порядке, но я хочу автоматически создать счет-фактуру типа «INV0001», но я не знаю, как это сделать. Может быть, вы, ребята, можете помочь мне исправить мой контроллер

Это мой контроллер

 public function storeSewa(Request $request){
  if ($request->edit=='false') {
  $newdata = new Sewa;
  } else {
  $newdata = Sewa::find($request->id);
  if ($newdata) {
  //
  }else {
  $newdata = new Sewa;}}
  $newdata->invoice = 'INV/'//idk, how?
  $newdata->penyewa_id = $request->penyewa_id;
  $newdata->kamar_id = $request->kamar_id;
  $newdata->tanggal_masuk = $request->tanggal_masuk;
  $newdata->tanggal_keluar = $request->tanggal_keluar;
  $newdata->durasi = $request->durasi;
  $newdata->status = 'Belum Lunas';

  $newdata->save();
  if ($newdata) {
  session()->flash('status', 'Task was successful!');
  session()->flash('type', 'success');
  return Redirect::route('account');
 }
 return 'false';
 }
 

Ну, я очень новичок в laravel, так может ли кто-нибудь помочь решить мою проблему самым простым способом?

Ответ №1:

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

 Schema::create('invoices', function (Blueprint $table) {
            $table->Increments('id');
        });
 

если вы хотите, чтобы ваши номера счетов-фактур были не такими, как 1,2,3, … вы можете использовать библиотеки, подобные этой:

https://github.com/oanhnn/laravel-fakeid

если вы используете для тестирования, вы можете использовать faker factory: здесь есть руководство:

https://www.codermen.com/blog/75/how-to-use-faker-with-laravel-5-7-tutorial