[解決済み] すべてのコントローラとビューのグローバル変数
2022-02-12 12:54:02
質問
Laravelでは、テーブル設定があり、以下のようにBaseControllerでテーブルから完全なデータを取得しました。
public function __construct()
{
// Fetch the Site Settings object
$site_settings = Setting::all();
View::share('site_settings', $site_settings);
}
そこで、他のコントローラやビューで$site_settings.にアクセスし、同じコードを何度も書く必要がないようにしたいのですが、どなたか解決策や他の方法を教えてください。
どのように解決するのですか?
このような場合、まず、設定ファイルを使うのが適切ですが、以下のような方法もあります(Laravel - 4)。
// You can keep this in your filters.php file
App::before(function($request) {
App::singleton('site_settings', function(){
return Setting::all();
});
// If you use this line of code then it'll be available in any view
// as $site_settings but you may also use app('site_settings') as well
View::share('site_settings', app('site_settings'));
});
どのコントローラでも同じデータを取得できるようにするには
$site_settings = app('site_settings');
いろいろな方法があるので、どれを使うか、好きな方を使えばいいのですが、私は
Container
.
関連
-
[解決済み] Laravelをインストールする際にエラーが発生しました。"./composer.json is not writable." というエラーが出ました。
-
[解決済み] Laravel 5.4で `npm run watch` が動作しない。
-
[解決済み] Laravel Homesteadを使用しています。'入力ファイルが指定されていない'
-
入力ファイルを開くことができませんでした:artisan
-
エラーの解決方法です。警告: count():Parameter は配列か、プロジェクトで Countable を実装したオブジェクトでなければなりません。
-
[解決済み] のエラーが発生しました。OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054 [重複].
-
[解決済み] すべてのグローバル変数/ローカル変数を印刷しますか?
-
[解決済み】Androidのグローバル変数
-
[解決済み】Laravel 5 - artisan seed 【ReflectionException】クラスSongsTableSeederが存在しない。
-
[解決済み】テーブルの最終行を選択する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「お客様の要件はインストール可能なパッケージのセットに解決できませんでした」エラーの解決方法は?
-
[解決済み] Class 'AppHttpControllers</DB' not found in Laravel 5 Controller
-
[解決済み] htmlentities() はパラメータ 1 が文字列であることを予期しており、オブジェクトが与えられている
-
[解決済み] Laravel Homesteadを使用しています。'入力ファイルが指定されていない'
-
入力ファイルを開くことができませんでした:artisan
-
[解決済み] Laravelインストール中のComposerエラー "レスポンスのデコードに失敗しました: zlib_decode(): データエラー"
-
[解決済み] "サーバーの応答 451 451 Temporary local - please try later" Mailgun、Laravel、VirtualBoxを使用してメールを送信する場合
-
[解決済み】Eloquent Collection。空白のカウントと検出
-
[解決済み】マイグレーション。外部キー制約を追加できない
-
[解決済み】Eloquentで「if not null」を確認する方法は?