как использовать take () с каждым индексом массива в laravel

Чтобы ответить на ваш реальный вопрос: нет убедительного объяснения, почему это было сделано именно так. "Да просто так".

Поскольку std::map является ассоциативным контейнером, нет четкого заранее определенного диапазона ключей, которые должны существовать (или не существовать) на карте (в отличие от совершенно разных ситуация с std::vector). Это означает, что с помощью std::map вам нужны как непересекающиеся, так и вставные функции поиска. Можно перегрузить [] в неинтегрирующем режиме и обеспечить функцию для вставки. Или можно сделать наоборот: перегрузка [] в качестве оператора вставки и предоставление функции для неинтерактивного поиска. Итак, кто-то когда-то решил следовать последнему подходу. Вот и все.

Если бы они сделали это наоборот, возможно, сегодня кто-то задал бы здесь обратную версию вашего вопроса.

0
задан Asad-ullah Sheikh 18 January 2019 в 12:21
поделиться

1 ответ

В Laravel нет родной поддержки для этого.

Я создал пакет для него: https://github.com/staudenmeir/eloquent-eager-limit

Используйте черту HasEagerLimit как в родительской, так и в связанной модель.

class Brand extends Model {
    use \Staudenmeir\EloquentEagerLimit\HasEagerLimit;
}

class RelatedModel extends Model {
    use \Staudenmeir\EloquentEagerLimit\HasEagerLimit;
}

Тогда вы можете применить ->take(3) к вашим отношениям.

0
ответ дан Jonas Staudenmeir 18 January 2019 в 12:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: