Laravel 5 Laravel通过数据透视表检索相关模型
所以我对这种情况有点困惑,我现在的关系是:Laravel 5 Laravel通过数据透视表检索相关模型,laravel-5,Laravel 5,所以我对这种情况有点困惑,我现在的关系是: 用户拥有许多喜爱的 收藏夹对配方的引用模型 Favorites是一个数据透视表,但当我为给定用户检索Favorites时,如: $user->favorites 我用pivot数据得到了最喜欢的数据,但我想得到配方的字段 Recipe.php: public function favourites() { return $this->hasMany('App\Favourite'); } public function favourit
用户
拥有许多喜爱的
收藏夹对配方的引用
模型
Favorites是一个数据透视表,但当我为给定用户检索Favorites时,如:
$user->favorites
我用pivot数据得到了最喜欢的数据,但我想得到配方的字段
Recipe.php:
public function favourites()
{
return $this->hasMany('App\Favourite');
}
public function favourites()
{
return $this->hasMany('App\Favourite');
}
public function user()
{
return $this->belongsTo('App\User','user_id');
}
public function recipes()
{
return $this->belongsTo('App\Recipe','recipe_id');
}
User.php:
public function favourites()
{
return $this->hasMany('App\Favourite');
}
public function favourites()
{
return $this->hasMany('App\Favourite');
}
public function user()
{
return $this->belongsTo('App\User','user_id');
}
public function recipes()
{
return $this->belongsTo('App\Recipe','recipe_id');
}
favorite.php:
public function favourites()
{
return $this->hasMany('App\Favourite');
}
public function favourites()
{
return $this->hasMany('App\Favourite');
}
public function user()
{
return $this->belongsTo('App\User','user_id');
}
public function recipes()
{
return $this->belongsTo('App\Recipe','recipe_id');
}
编辑:根本没有问题,只需要打电话:
@foreach($user->favourites as $favourite)
{{ $favourite->recipe->name }}
@endforeach
你需要将你的关系设置为Has Many Through,而不是Has Many Recipe.php:
public function favourites()
{
return $this->hasManyThrough('App\Favourite', 'App\User');
}
User.php:
public function favourites()
{
return $this->hasManyThrough('App\Favourite', 'App\Receipe');
}
favorite.php:
public function user()
{
return $this->hasManyThrough('App\User','App\Receipe');
}
你需要将你的关系设置为Has Many Through,而不是Has Many Recipe.php:
public function favourites()
{
return $this->hasManyThrough('App\Favourite', 'App\User');
}
User.php:
public function favourites()
{
return $this->hasManyThrough('App\Favourite', 'App\Receipe');
}
favorite.php:
public function user()
{
return $this->hasManyThrough('App\User','App\Receipe');
}
我让它工作了…我真的很累。我会试试你的解决办法我已经开始工作了…我真的很累了。我试试你的解决办法