【问题标题】:wishlist not showing laravel愿望清单没有显示 laravel
【发布时间】:2020-02-11 22:46:51
【问题描述】:

我正在创建一个愿望清单,以便用户可以将项目保存到愿望清单。我有产品表、愿望清单表,其中包含 user_idproduct_id 列,还有数据透视表 product_wishlist 表,其中包含外键 product_idwishlist_id。问题是它没有显示价格,名称等产品信息并且没有显示错误,我不知道我的关系是否错误或有其他问题,我该如何解决这个问题?

Wishlist.php

class Wishlist extends Model
{
 protected $table = "wishlist";
protected $fillable=['product_id','user_id'];

public function user(){
return $this->belongsTo(User::class);
}

public function product(){
return $this->belongsToMany(Product::class,'product_wishlist','wishlist_id', 'product_id');
}
}

产品.php

 public function wishlist(){
    return $this-belongsToMany(Wishlist::class);
 }

愿望清单控制器

 public function index()
{
    $user = Auth::user();
    $wishlists = Wishlist::with('product')
    ->where('user_id', $user->id)
    ->orderby('id', 'desc')
    ->paginate(6);
    //dd($wishlists);
     return view('front.wishlist', compact('user', 'wishlists'));
}

刀片

 @foreach($wishlists as $wishlist)

 <h3 >USD {{$wishlist->name }}</h3>
 <h4 >USD {{$wishlist->price }}</h4>

  @endforeach

【问题讨论】:

  • 请检查您在Product.php 中的语法,您的关系中有- 而不是-&gt;
  • 什么给了你dd($wishlists);
  • 它在产品@Kusy 中给出#relations: array:1 [▼ "product" =&gt; Collection {#381 ▼ #items: [] } 空数组
  • 你纠正了product.php吗?
  • 是的,我做到了@Kusy

标签: php laravel laravel-5 eloquent


【解决方案1】:

你需要这样做

{{ $wishlist->product->price }} 

由于价格是产品的一个属性,因此您需要在访问价格之前访问产品对象。

【讨论】:

  • 当我 dd($wishlist) 显示#relations: array:1 [▼ "product" =&gt; Collection {#381 ▼ #items: [] }@Paradigm
  • 我假设在您的数据透视表中,愿望清单和产品之间存在实际关系?
  • 我还没有创建(product_wishlist)模型@Paradigm
  • 我的意思是在你的数据库中你应该有一个 product_wishlist 表。您是否有一些既映射到愿望清单又映射到产品的记录?
  • 在数据库中 product_wishlist 表为空@Paradigm
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-17
  • 2018-08-09
  • 1970-01-01
  • 2014-07-25
  • 2019-10-19
相关资源
最近更新 更多