У меня есть 3 таблицы базы данных.Является ли это правильной моделью Laravel 5?
users
id - integer
username - string
post
id - integer
user_id - integer
topic - string
comments
id - integer
user_id - integer
post_id - integer
Что я делаю в зрении я цикл через все посты, которые пользователь создал, делая что-то вроде
Post::where('user_id', Auth::user()->id)->get();
В каждом посте, другие пользователи могут комментировать их. Я хотел бы показать счет на почте, где он однозначно подсчитывает, сколько пользователей прокомментировали эту запись. Я думал, что создание отношений hasManyThrough будет работать здесь, но я продолжаю получать число «0» для пользователей.
Модель пользователя:
class User extends Model {
public function post()
{
return $this->hasMany('App\Post')
}
public function comment()
{
return $this->hasMany('App\Comment', 'user_id')
}
}
Сообщение Модель:
class Post extends Model {
public function user()
{
return $this->belongsTo('App\User')
}
public function comment()
{
return $this->hasMany('App\Comment')
}
// I thought this method below would return the users who had commented on the post
public function commenters()
{
return $this->hasManyThrough('App\User', 'App\Comment', 'user_id', 'username');
}
}
Комментарий Модель:
class Comment extends Model {
pubic function user()
{
return $this->belongsTo('App\User')
}
public function post()
{
return $this->belongsTo('App\Post')
}
}
Таким образом, конечный результат должен быть что-то вроде этого им угадывать?
Вид:
<span>{{ $model->modelmethod->count() }}</span>
Мои ребята мнения здесь? Правильно ли это? Или есть что-то другое, что вы рекомендуете?
Привет, Тезла, я ищу, чтобы подсчитать количество пользователей, которые прокомментировали. Не количество комментариев. –
ah mybad, вы можете получить пользователя через загруженную загрузку - я отредактирую свой ответ. –
ключ был связан с ':: with (relationship)', если вы хотите получить посткоммерческий комментатор, глядя на ваше отношение к модели - это может быть сделано через это, однако, что не будет получать фактический комментарий. –