Laravel 앱 데이터베이스에 변수 저장

설정 테이블을 사용하여 Laravel 앱 데이터베이스에서 변수를 관리하는 방법



많은 구성이 필요한 Laravel 애플리케이션을 작업하는 동안 데이터베이스에 데이터를 저장하는 데 문제가 있었습니다.

설정을 저장하고 싶을 때마다 새 테이블을 계속 생성합니까?

이러한 변수를 저장하기 위해 기존 테이블에 새 열을 계속 추가합니까?

그런 다음 설정 테이블 접근 방식을 생각해 냈습니다.



간단하지만 효과적인 접근 방식입니다.

테이블 설정을 사용하여 변수의 모든 세부 정보를 저장합니다.

변수의 현재 값을 얻기 위해 테이블을 쿼리할 수 있습니다.

업데이트된 값을 저장하도록 테이블을 업데이트할 수 있습니다.

php artisan make:model Setting -m
//This will create a Setting Model and settings_table migration



<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Setting extends Model
{
    protected $fillable=['name','slug','value','description'];

    protected $casts=[
        'value'=>'array'
    ];
}


설정 테이블에는 다음 열이 있습니다.
  • name : 설정 항목의 이름을 저장합니다
  • .
  • slug: 쿼리를 위한 설정 항목의 고유한 이름을 저장하기 위해
  • value : 설정 항목
  • 의 값을 저장합니다.
  • 설명: 설정 항목의 세부 정보를 저장합니다
  • .

    값 열은 배열로 캐스트됩니다. 배열 형태의 설정 값을 처리하기 위함입니다.

    테이블 쿼리



    설정 테이블은 웅변 또는 DB 파사드를 사용하여 쿼리됩니다.

    //array values
    $approved_users=\App\Setting::where('slug','approved_users')->first()->value ?? [];
    
    //integer value
    $percentage=\App\Setting::where('slug','percentage')->first()->value ?? 20;
    
    //boolean value
    $use_old_process=\DB::table('settings')->where('slug','use_old_process')->value('value') ?? 1;
    


    결론



    이것은 많은 구성이 있는 Laravel 애플리케이션에서 일부 설정을 처리하는 방법입니다. 강제할 수 있는 표준이 아닙니다. 그것은 내 문제를 해결했고 당신의 문제를 해결할 수 있습니다

    응용 프로그램에 변수를 저장하는 더 좋은 방법이 있으면 의견을 남겨주세요.

    건배 😊

    좋은 웹페이지 즐겨찾기