부드러운 삭제를 사용하는 Comments
모델이 있습니다. 관계와 Post
모델이 있습니다.laravel에서 소프트 삭제 된 항목을 반환하는 count()
내 사이트에 연결된 기본 모바일 앱이 있으며 게시물에 대한 정보를 보내고 어떤 이유로 연체 된 삭제 된 항목이 반환됩니다.
나는 일하고 내 게시물 모델에
public function getCommentcountAttribute()
{
return DB::table('comments')
->where('post_id',$this->id)
->where('deleted_at','=',NULL)
->count();
}
protected $appends = array('score','commentcount', 'ups', 'downs');
및
을 사용하여 댓글 수를 보내는 포스트 배열을 가지고있다. 나는 또한 또한 내가->whereNUll('deleted_at')
에 모두
->hasMany('Comment')
과 행운과
->belongsTo('Post')
추가 해봤의 관계를 정의 할 때
public function getCommentcountAttribute()
{
return $this->comments()->count();
}
및
public function getCommentcountAttribute()
{
return $this->comments()->whereNull('deleted_at')->count();
// also: return $this->comments()->where('deleted_at',NULL)->count();
}
을 시도했습니다.
나는 데이터베이스를 확인하고 내가 유창함과 웅변은 (I 테스트 사용하고 포스트되는 31)
SELECT * FROM `comments` WHERE post_id=31 and deleted_at=null
입니다 발생 될 것으로 예상하고있어 SQL을 실행했습니다. 아무것도 작동하지 않습니다. 여러분이 더 이상 특정 기능을 볼 필요가 있다면 저에게 전체 모델을 게시하지 말고 알려주십시오.
내가 이미 완료했음을 포함해야합니다. Soft Deleting은'-> toArray()'와'count()'를 사용할 때를 제외하고 어디에서나 작동합니다. – MrJellyhands