2017-01-25 7 views
1

こんにちは私はすべてのコントローラとビューに設定とアクセス可能をロードしようとしています。これを行うには良い方法がありますか?Laravelデータベースから設定し、すべてのコントローラとビューにアクセス可能

+0

設定ファイルの設定にアクセスするには? 'config( 'app.key')'?または.envファイルから 'env( 'KEY')' –

+0

を読み込み、データベースから読み込むことはできません。 –

+0

設定モデルを追加してください。そのモデルを使用して、データベース内の任意の設定にアクセスできます。 – aynber

答えて

0

前述したように、他のすべてのコントローラが拡張されているコントローラを変更し、その変数を__construct()関数に追加することができます。たとえば、私の5.3プロジェクトでは、すべてのコントローラがApp \ Http \ Controllers \ Controllerを拡張します。あなたがここにロジックのすべてのソートを行うと、あなたが望む任意の変数を設定することができます

protected $settings; // Protected so child controllers can't modify it 

public function __construct() { 
    $this->settings = Settings::first(); 
} 

:(関数が存在する場合、または更新)そのコントローラでは、このようなものを追加します。そして、子コントローラでは、あなたがそれらにアクセスするためにしなければならないすべては、あなたがビューでそれを使用したい場合は、ビューにそれを渡す必要があります

if($this->settings->my_setting == TRUE) 

のように、$this->settingsを使用しています。共有する場合はすべてのビューが表示されますので、instructions hereに従ってください。

関連する問題