#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