Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Table Bundle Laravel Package

araise/table-bundle

View on GitHub
Deep Wiki
Context7

Events

There are some events which are triggered while editing or creating entites.

Events available

  • araise_table.data_load.pre_load: is triggered before the resultset is loaded
  • araise_table.data_load.post_load: is triggered after the resultset is loaded

Using events

In this example, we limit the number of rows returned based on the ?limit=n Parameter.

<?php
// src/araise/TableBundle/EventListener/LimitEventListener.php

namespace araise\TableBundle\EventListener;

use araise\TableBundle\Event\DataLoadEvent;
use araise\TableBundle\Table\Table;

class LimitEventListener
{
    public function limitResultSet(DataLoadEvent $event)
    {
        $table = $event->getTable();

        if ($table->getRequest()->query->getInt('limit') === -1) {
            $table->getQueryBuilder()->setMaxResults(-1);
            $table->getQueryBuilder()->setFirstResult(0);
            return;
        }

        $table->getQueryBuilder()->setMaxResults($table->getRequest()->query->getInt('limit', 25));
        $table->getQueryBuilder()->setFirstResult(($table->getCurrentPage() - 1) * $table->getLimit());
    }
}

# src/araise/TableBundle/Resources/config/services.yml
services:
    araise_table.event_listener.limit:
        class: araise\TableBundle\EventListener\LimitEventListener
        tags:
            - { name: kernel.event_listener, event: araise_table.data_load.pre_load, method: limitResultSet }

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator