Таблица только с 1 строкой Laravel

#mysql #sql #laravel

Вопрос:

Мне нужно где-то сохранить информацию о компании, и я решил создать таблицу под названием entreprise_info, в которой есть только 1 компания.

Я хочу знать, что является наилучшей практикой в этой ситуации.

Таблица, которую я создал:

 class CreateEnterpriseInfosTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('enterprise_infos', function (Blueprint $table) {
            $table->id();
            $table->string('name', 50);
            $table->string('street_address', 50);
            $table->string('postal_address', 50);
            $table->string('phone', 17);
            $table->string('fax', 17);
            $table->string('logo_path', 50);
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('enterprise_infos');
    }
}

 

Комментарии:

1. У меня была такая же ситуация, и я поступил так же, как и ты.

2. спасибо, что поделились.

3. Вам нужно объяснить больше… вы собираетесь хранить более 1 компании или это только для 1 компании, и все ?

4. Это всего лишь 1 компания, и все

5. Затем, это зависит от того, как вы собираетесь его использовать, собираетесь ли вы редактировать эти данные ? Будет ли это постоянным ? Если он будет постоянным, то создайте новый config файл и поместите его в эту папку, чтобы вы могли использовать его как config('company.name') или config('phone') и т. Д. Кроме того, делая это, вы можете кэшировать его, так что не нужно все время читать его из файла.

Ответ №1:

В этом сценарии я перейду к двум столбцам в таблице

Имя таблицы : enterprise_infos

имя столбцов : setting_key| setting_value

ключевая колонка содержит street_address,postal_address,phone,faxlogo_path

Этот тип схемы позволяет не создавать новые столбцы при каждом введении нового ключа настройки

SQL

 CREATE TABLE `enterprise_infos` (
  `id` int(11) NOT NULL,
  `setting_key` varchar(255) NOT NULL,
  `setting_value` longtext DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;



INSERT INTO `enterprise_infos` (`id`, `setting_key`, `setting_value`) VALUES
(1, 'name', NULL),
(2, 'street_address', NULL),
(3, 'postal_address', NULL),
(4, 'phone', NULL),
(5, 'fax', NULL),
(6, 'logo_path', NULL);
 

введите описание изображения здесь