Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I have two models Cart and Products

On products model I have an'accessor: amount

$appends = ['amount'];

public function getAmountAttribute(){
    return $this->price * $this->taxe;
}

But when I'm trying to get amount from relationship like:

$cart = Cart::where('id',$uid)->with('products')->get();

foreach($cart as $row){
    print_r($row->products->amount);
}

It tell's me "Property [amount] does not exist on this collection instance."

What's the problem?

UPDATE

Cart relationship for products

public function products(){
    return $this->hasMany(Product::class,'id','product_id');
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
1.4k views
Welcome To Ask or Share your Answers For Others

1 Answer

Is $row->products a hasMany relationship? If yes, then $row->products returns a Collection instance and you have to loop through $row->products like,

foreach($cart as $row){
    $row->products->each(function($product){
        print_r($product->amount);
    });
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...