我使用 Laravel 5 预先设置了登录页面。我想从数据库中获取一些信息,例如site_name
,并在登录页面上显示。但不确定如何在文件routes.php
Route::get('/', 'WelcomeController@index');
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);
这是welcome
<?php namespace ais\Http\Controllers;
class WelcomeController extends Controller {
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
$settings = Settings::findOrFail(1);
return view('welcome', compact($settings));
}
}
我在这里添加了一些代码来获取页面的常规设置,并在函数index()
中设置它,如$settings = Settings::findOrFail(1);
出现错误并告诉我
Undefined variable: settings (View: /var/www/ais/resources/views/app.blade.php) (View: /var/www/ais/resources/views/app.blade.php)
如何在登录页面上显示该信息?
提前致谢
答案 0 :(得分:1)
要将一些变量传递到登录页面,您需要创建一个名为&#34; getLogin()&#34;的新函数。在&#34; /app/Http/Controllers/Auth/AuthController.php"。然后你可以做任何你想做的事。
实施例
// app/Http/Controllers/Auth/AuthController.php
public function getLogin()
{
$someInfo = "Some Info" ;
return view('auth.login', compact('someInfo'));
}
然后你可以调用$ someInfo&#34; /resources/views/auth/login.blade.php"
答案 1 :(得分:0)
对于compact
函数,你不传递变量,你只需传递变量名,所以应该是:
return view('welcome', compact('settings'));
而不是
return view('welcome', compact($settings));