通过关系访问数据 Laravel
Accessing data trough relationship Laravel
我有两个tables/models。用户和广告。
当用户发布广告时,他们的用户 ID 是数据库行中的一列。我想使用 id 获取用户详细信息并将其显示在 blade 模板中。
这些是模型
广告属于用户。
class Advert extends Model
{
public function user(){
return $this->belongsTo('App\User');
}
}
用户有很多广告。
class User extends Authenticatable
{
public function advert(){
return $this->hasMany('App\Advert);
}
}
在广告展示页面上,我想在旁边打印用户名和详细信息。目前我只能访问 ID,因为它作为 attirbute 存储在数据库的广告列中。我如何使用这种关系来访问用户数据。
这是节目控制器
public function show($id){
//Shows add user clicked on based on id
$user = User::where('id', $id)->first();
$Advert = Advert::where('id', $id)->first();
return view('pages/advert/show', compact('Advert', 'user'));
}
在显示页面视图中,我可以像这样访问用户 ID {{$user->id}}
您正在使用传递给 show
函数的 $id
来检索用户和广告。
public function show($id){
// Get the avert with the passed in id
$advert = Advert::find($id);
// From the advert get the user related to it.
$user = $advert->user;
return view('pages/advert/show', compact('advert', 'user'));
}
查看 https://laravel.com/docs/5.6/eloquent-relationships#querying-relations 以更好地了解 eloquent 如何处理关系。
我有两个tables/models。用户和广告。
当用户发布广告时,他们的用户 ID 是数据库行中的一列。我想使用 id 获取用户详细信息并将其显示在 blade 模板中。
这些是模型
广告属于用户。
class Advert extends Model
{
public function user(){
return $this->belongsTo('App\User');
}
}
用户有很多广告。
class User extends Authenticatable
{
public function advert(){
return $this->hasMany('App\Advert);
}
}
在广告展示页面上,我想在旁边打印用户名和详细信息。目前我只能访问 ID,因为它作为 attirbute 存储在数据库的广告列中。我如何使用这种关系来访问用户数据。
这是节目控制器
public function show($id){
//Shows add user clicked on based on id
$user = User::where('id', $id)->first();
$Advert = Advert::where('id', $id)->first();
return view('pages/advert/show', compact('Advert', 'user'));
}
在显示页面视图中,我可以像这样访问用户 ID {{$user->id}}
您正在使用传递给 show
函数的 $id
来检索用户和广告。
public function show($id){
// Get the avert with the passed in id
$advert = Advert::find($id);
// From the advert get the user related to it.
$user = $advert->user;
return view('pages/advert/show', compact('advert', 'user'));
}
查看 https://laravel.com/docs/5.6/eloquent-relationships#querying-relations 以更好地了解 eloquent 如何处理关系。