Как заставить автоматически генерировать пользовательский формат номера в laravel / php? - PullRequest
0 голосов
/ 30 января 2020

Я хочу автоматически создать номер нестандартного формата при создании новой формы в Laravel. После сохранения и открытия новой формы число снова увеличится или изменится.

Формат может быть таким: 001/ACME/01/2020/MJ. Таким образом, 001 будет число, которое будет увеличиваться, ACME - это состояние c (название компании), 01 - текущий месяц, 2020 - текущий год, а MJ - начальное значение, которое Пользователь вошел в систему.

Итак, любая помощь будет оценена парнями. Спасибо.

1 Ответ

0 голосов
/ 30 января 2020

Примечание. Здравствуйте, если '001' является первичным ключом таблицы, он будет увеличиваться при добавлении новых экземпляров, однако, если не первичный ключ, а просто столбец в таблице, добавляемой вручную, необходимо получить последний элемент форм.

Для получения последней формы номер

$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');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...