gpt4 book ai didi

php - 从数据库 laravel 中显示喜欢的产品

转载 作者:行者123 更新时间:2023-11-29 07:17:12 26 4
gpt4 key购买 nike

我想显示数据库中特定用户的所有喜欢的产品,但出现错误 Integrity constraint violation: 1052 Column 'deleted_at' in where clause is ambiguous 。我怎么能显示特定用户的所有喜欢的产品?

点赞.php

class Like extends Model
{
use SoftDeletes;

protected $table = 'likeables';

protected $fillable = [
'user_id',
'likeable_id',
'likeable_type',
];

/**
* Get all of the products that are assigned this like.
*/
public function products()
{
return $this->morphedByMany('App\Product', 'likeable');
}

}

产品.php

   public function likes()
{
return $this->morphToMany('App\User', 'likeable')->whereDeletedAt(null);
}

public function getIsLikedAttribute()
{
$like = $this->likes()->whereUserId(Auth::id())->first();
return (!is_null($like)) ? true : false;
}

用户.php

public function likedProducts()
{
return $this->morphedByMany('App\Product', 'likeable')->whereDeletedAt(null);
}

Blade 文件

@foreach (Auth::user()->likedProducts as $product)

<h2>{{ $product->price }}</h2>

@endforeach

最佳答案

用户表和产品表中有两个 deleted_at 列。这就是错误的原因。像这样更改您的 likedProducts 函数

  public function likedProducts()
{
return $this->morphedByMany('App\Product', 'likeable')->whereNull('products.deleted_at');
}

关于php - 从数据库 laravel 中显示喜欢的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58578096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com