将设置数据从数据库传递到布局
Pass setting data from database to layout
我想将数据从数据库中的设置 table 传递到我的布局视图。
如何完成?
$item = Setting::find(1);
return view($this->controller.'/show')->with( 'item', $item);
解决方案:
public function boot() {
if( !isset( $_SESSION['adminTitle'] ) ){
$item = Setting::find(1);
$item = $item->toArray();
$_SESSION['adminTitle'] = $item['title'];
$_SESSION['adminEmail'] = $item['email'];
$_SESSION['adminLogo'] = $item['logo'];
}
}
在以下位置创建视图:
\resources\views\
示例:\resources\views\index.blade.php
$data['item'] = Setting::find(1);
return view('index')
->with( $data);
或
$item = Setting::find(1);
return view('index', compact('item');
查看:{{$item}}
为什么不简单这样呢?:
// File app/Http/Controllers/ExampleController.php
//
class ExampleController extends Controller
{
public function show()
{
//
$setting = Setting::find(1);
return view('example', ['setting' => $setting]);
}
}
在 Blade 视图中:
<!-- resources/views/example.blade.php -->
{{ $setting->title }}
{{ $setting->logo }}
...
但是,如果您想在 所有 视图之间共享设置,您可以添加此中间件:
// File app/Http/Middleware/ViewShareSettingMiddleware
//
class ViewShareSettingMiddleware
{
public function handle($request, Closure $next)
{
$setting = Setting::find(1);
view()->share('setting', $setting);
return $next($request);
}
}
我想将数据从数据库中的设置 table 传递到我的布局视图。
如何完成?
$item = Setting::find(1);
return view($this->controller.'/show')->with( 'item', $item);
解决方案:
public function boot() {
if( !isset( $_SESSION['adminTitle'] ) ){
$item = Setting::find(1);
$item = $item->toArray();
$_SESSION['adminTitle'] = $item['title'];
$_SESSION['adminEmail'] = $item['email'];
$_SESSION['adminLogo'] = $item['logo'];
}
}
在以下位置创建视图:
\resources\views\
示例:\resources\views\index.blade.php
$data['item'] = Setting::find(1);
return view('index')
->with( $data);
或
$item = Setting::find(1);
return view('index', compact('item');
查看:{{$item}}
为什么不简单这样呢?:
// File app/Http/Controllers/ExampleController.php
//
class ExampleController extends Controller
{
public function show()
{
//
$setting = Setting::find(1);
return view('example', ['setting' => $setting]);
}
}
在 Blade 视图中:
<!-- resources/views/example.blade.php -->
{{ $setting->title }}
{{ $setting->logo }}
...
但是,如果您想在 所有 视图之间共享设置,您可以添加此中间件:
// File app/Http/Middleware/ViewShareSettingMiddleware
//
class ViewShareSettingMiddleware
{
public function handle($request, Closure $next)
{
$setting = Setting::find(1);
view()->share('setting', $setting);
return $next($request);
}
}