我想在Laravel中创建新表格时自动生成自定义格式编号。保存并重新打开新表格后,数字将增加或更改。
格式可能是这样的:2020-01-30 08:07:37.581 20275-20275/com.example.mhtapplication E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.mhtapplication, PID: 20275
java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
at com.example.mhtapplication.Questions.onlick(Questions.java:103)
。因此,<EditText
android:id="@+id/textView16"
android:layout_width="384dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="12dp"
android:text=""
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView13" />
将是要增加的数字,001/ACME/01/2020/MJ
是静态的(公司名称),001
是当前月份,ACME
是当前年份,{{ 1}}是用户登录的首字母。
所以,任何帮助都会感激大家。谢谢。
答案 0 :(得分:0)
注意:您好,如果“ 001”是表的主键,则在添加新实例时它将递增,但是如果不是主键,而只是手动添加的表中的一列,则需要获取表格的最后一项。 / p>
获取最后的表格编号
$form_number = App\Form::orderBy('form_number', 'desc')->first()->form_number;
然后您可以在FormController@formCode
模型中创建文本形式。
public function formCode($form_number, $company) {
return $form_number."/{$company}/".now()->month."/".now()->year."/".auth()->user()->shortcode
}
最后,您可以在App\User
模型中为用户名的短代码创建一个属性
public function getShortcodeAttribute() {
return \Illuminate\Support\Str::substr($this->first_name, '1', '1').\Illuminate\Support\Str::substr($this->last_name, '1', '1');
}