Laravel: hasMany () с take () работает только для первого результата

У меня есть следующие модели.

class User extends Eloquent {
public function comments() {
return $this->hasMany('Comment');
}
}

class Comment extends Eloquent {
public function user() {
return $this->belongsTo('User');
}
}

Ради этого примера пользователь может иметь тысячи комментариев. Я пытаюсь ограничить их только первым 10. Я попытался сделать это в User модель через

class User extends Eloquent {
public function comments() {
return $this->hasMany('Comment')->take(10);
}
}

и через UserController через закрытие

$users = User::where('post_id', $post_id)->with([
'comments' => function($q) {
$q->take(10);
}
]);

Кажется, что оба метода работают только с первой записью результата. Есть ли лучший способ справиться с этим?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]