У меня есть модель Comments
, в которой используется обратимое удаление: она имеет отношения one-to-many
с моей моделью Post
.
С моим сайтом будет связано родное мобильное приложение, и мне нужно отправить ему количество комментариев, когда я отправляю информацию о публикации, и по какой-то причине он возвращает количество С мягко удаленными элементами.
У меня есть массив сообщений, который работает и отправляет количество комментариев, используя
protected $appends = array('score','commentcount', 'ups', 'downs');
и
public function getCommentcountAttribute()
{
return DB::table('comments')
->where('post_id',$this->id)
->where('deleted_at','=',NULL)
->count();
}
в моей почтовой модели. я тоже пробовал
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();
}
также при определении отношения я безуспешно пытался добавить ->whereNUll('deleted_at')
как к ->hasMany('Comment')
, так и к ->belongsTo('Post')
.
Я проверил базу данных и запустил SQL, который, как я ожидаю, будет генерировать Fluent и Eloquent, который
SELECT * FROM `comments` WHERE post_id=31 and deleted_at=null
(31 — это пост, который я использую для тестирования). Ничего не работает. Дайте мне знать, если вам, ребята, нужно увидеть больше конкретных функций, так как я бы не хотел публиковать свои модели целиком.