Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Retrieve data from bridge table laravel

DB

I'm having an issue to retrieve "portion" data from table "ingredient_recipe". Is there any way to get the "portion" data without using Query Builder? This is my code for retrieve ingredient in recipe model. The problem is I want to retrieve portion value from Recipe model.

class Recipe extends Model
{
  public function ingredients(){
        return $this->belongsToMany('App\Ingredient');
  }
}
like image 308
Jakz Aizzat Avatar asked Dec 08 '25 08:12

Jakz Aizzat


1 Answers

Add the pivot table column in your relationship

public function ingredients()
{
    return $this->belongsToMany('App\Ingredient')->withPivot('portion');
}

Then access it like

$recipe = Recipe::find(1);

foreach ($recipe->ingredients as $ingredient) {
    echo $ingredient->pivot->portion;
}
like image 96
Sandeesh Avatar answered Dec 09 '25 21:12

Sandeesh