我在数据库中有3个表,
用户模型
public function profiledetails()
{
return $this->hasOne('App\Profiledetails');
}
public function educationHasOne()
{
return $this->hasOne('App\Education');
}
Profiledetails模型
public function user()
{
return $this->belongsTo('App\User');
}
教育模式
public function user()
{
return $this->belongsTo('App\User');
}
我可以存储数据。
我想将所有表数据都查看到一个网页中 我使用下面的代码来实现这一点。
public function index()
{
$user = Auth::user()->id;
$profile = array(
User::find($user)->profiledetails,
User::find($user)->educationHasOne
);
return view('profile.index', ['profile' => $profile]);
}
何时使用dd($ variablename),我能够看到我需要的所有必填字段,
现在,我想知道如何将所有这些数据传递到单页中进行查看。
答案 0 :(得分:2)
您可以将数组传递给视图,如下所示:
return view('profile', ['profile' => $profile]);
在视图中,您可以访问$profile
。
如果您需要每个数据,建议您使用view composers
。您可以在这里找到很好的文档+示例:https://laravel.com/docs/5.1/views#passing-data-to-views
答案 1 :(得分:1)
感谢@Schellingerht,将数组传递给视图工作完美。
当用户登录时,代码工作正常。
以下是我的代码
pass an array to the view
public function index()
{
$user = Auth::user()->id;
$profile = User::find($user)->profiledetails;
$education = User::find($user)->educationHasOne;
return view('profile.index',['profile' => $profile, 'education' => $education]);
}
答案 2 :(得分:0)
您可以使用@Schellingerht答案甚至使用“紧凑”
$profile= 'someVar';
return view( 'profile',compact('profile') );
这里你不需要创建一个关联数组。请确保变量名称与compact中的字符串相同。 在您的视图中,您只需使用
调用它{{$profile}}