我将在index.blade.php文件中查看我的用户表数据(用户名,电子邮件)。我有像这样的UsersController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Auth;
use App\User;
use App\Http\Requests;
class UserController extends Controller
{
public function index()
{
$users = User::userr()->get();
return view('users.index')->withUser($users);
}
}
我的用户模型是
<?php
namespace App;
use Auth;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'username', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function getAvatarUrl()
{
return "http://www.gravatar.com/avatar/" . md5(strtolower(trim($this->email))) . "?d=mm&s=40";
}
public function scopeUserr($query)
{
return $query->where('username',Auth::user()->id);
}
}
和index.blade.php是
@if(isset($user))
@foreach($user as $use)
<h1>{ !! $use->username !! }</h1>
@endforeach
@endif
@endsection
路线是
Route::get('/index', function(){
return view('users.index');
});
但是当我访问索引视图时,它显示空白页面(没有错误)并且没有显示名称和电子邮件
如何解决这个问题?
答案 0 :(得分:0)
使用User::all();
来获取用户表中的所有数据,而不是User::userr()->get();
此外,您已将变量$users
发送到视图,并在$user
循环刀片中使用@foreach
。
更改@if(isset($user))
@foreach($user as $use)
到
@if(isset($user))
@foreach($user as $use)
在你的刀片文件上。然后它应该可以工作。
答案 1 :(得分:0)
检查您的路线是否在索引(/
)处有任何操作。如果不是,请将索引的路径设置为所需的视图或控制器。然后,从控制器返回正确的视图以及您要发送的数据。
在刀片模板中,使用从控制器传递的确切变量名称。
E.g。 ,
Route::get('/', function(){
//variable here
return view('view')->with('var', $var);
});
在你的刀片中,
@if(isset($var))
@foreach($var as $use)
//action here
@endforeach
@endif
希望这有帮助。