我有三个相关的模型。 1.用户模型
public function users_wishlst(){
return $this->hasMany('App\Users_wishlst');
}
2.Product Model
public function users_wishlst(){
return $this->belongsTo('App\Users_wishlst');
}
3.Users_wishlst模型
public function user(){
return $this->belongsTo('App\User');
}
public function product(){
return $this->hasMany('App\Product');
}
在users_wishlsts表中我有followibg列
我想获取用户愿望清单的产品信息。我试过这个
public function showWishList(){
$id= Auth::id();
$WishList = wishlist::with('product')->where(['user_id'=>$id])->get();
return json_encode($WishList);
}
但是这给了我以下错误
SQLSTATE [42S22]:找不到列:1054未知列 ' products.users_wishlst_id'在' where子句' (SQL:select * from
products
其中products
。users_wishlst_id
位于(1,2,3)) 有什么问题
答案 0 :(得分:0)
在不了解您的数据库结构的情况下,这似乎是您的外键问题。 Eloquent尝试自动猜测密钥。根据错误,您的产品表似乎不包含users_wishlst_id列(可能您将其命名为不同?)。尝试查看数据库并为Laravel提供正确的foreign_key。
https://laravel.com/docs/5.3/eloquent-relationships#one-to-many